Problema con formato

Hola, hice una macro que inserta una hoja y le coloca como nombre una celda que es una fecha, pero cuando me cambie de computador y copié la macro se desconfiguró y no me acepta una variable data como nombre (cambié la variable a string, pero tengo que cambiar cada vez el nombre de la hoja)... Podrías ayudarme

1 Respuesta

Respuesta
1
¿Puedes escribirme la macro? Le echo un vistazo y pruebo si a mí me funciona.
Esta macro funciona sólo en algunos computadores yo creo que es un problema con la configuración del excel...
Gracias
Sub Macro3()
Dim fecha As Date
Range("B30").Select
fecha = Cells(7, "c").Value
Sheets("COPIAR").Select
Range("A1:H100").Select
Selection.Copy
Sheets.Add.Name = fecha
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("COPIAR").Select
Range("A1").Select
End Sub
A mi la macro si me acepta la variable date pero creo que el problema es que no admite que el nombre de la hoja contenga el símbolo /.
Al identificar el nombre con una fecha intenta crear una hoja estilo "12/02/2005" y aquí es donde da el error.
Entiendo por la macro que tienes en la celda C7 una fecha y es la que quieres que te sirva como nombre.
Lo que puedes hacer es transformar la fecha en texto mediante una fórmula que podría ser como esta:
=DIA(C7)&"_"&MES(C7)&"_"&AÑO(C7)
Así poniéndola p.e. en D8 te devolvería 16_2_2005
Y ahora sí podrías usar la macro:
Sub Macro3()
Dim fecha As String
Range("B30").Select
fecha = Cells(7, "d").Value
Sheets("COPIAR").Select
Range("A1:H100").Select
Selection.Copy
Sheets.Add.Name = fecha
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("COPIAR").Select
Range("A1").Select
End Sub
Si prefieres un nombre estilo 16022005 la fórmula sería:
=TEXTO(DIA(C7);"0#")&TEXTO(MES(C7);"0#")&AÑO(C7)
Bueno, haz la prueba y me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas