Macro para nombrar una hoja copiada de otra con un nombre compuesto de un prefijo más el valor de 2 celdas de la misma hoja.

¿Me pueden ayudar?

a) Tengo una hoja1 que quiero copiar, y renombrar la copia con Impresión+el valor de las celdas f3 y f5. *La celda F3 contiene la palabra fondo y la F5, es una fecha*

Después de haber creado la hoja "Impresión+el valor de las celdas f3 y f5 ", necesito que la hoja1, se convierta en otra hoja, para volver a utilizar hoja1 con nuevos datos y crear una nueva hoja Impresión+el valor de las celdas f3 y f5 a partir de ella.

Estuve buscando en varios foros, pero algunos solo dan un nombre fijo a la hoja, y en otros casos no logre entender como es que lo hacían.

Perdón si mis preguntas son tan básicas, pero soy totalmente inexperta.

Así esta mi macro en este momento,

Hoja1.Select
Hoja1.COPY Before:=Sheets(1)

ActiveSheet.Select

ActiveSheet.Name = "Imprimir"

El problema con esta es que si quiero volver a ejecutarla, me da error ya que la hoja "Imprimir" ya existe, por eso quiero agregarle el valor de las celdas f3 y f5 para que cada hoja creada se llame diferente y no me de error.

1 Respuesta

Respuesta
1

Estas serían las instrucciones:

Sub renombraHoja()
'x Elsamatilde
Hoja1.Select
Hoja1.Copy Before:=Sheets(1)
'ActiveSheet.Select 'si ya es la activa no es necesario seleccionarla
ActiveSheet.Name = "Imprimir" & Range("F3") & Range("F5")
End Sub

Utilizando & podés armar la cadena a tu gusto. Desde la sección Macros de mi sitio podrás encontrar otros ejemplos.

¡Muchas Gracias! Es de gran ayuda tu respuesta. Y muy sencilla entender Elsa Matilde, gracias otra vez.

Hola Elsa Matilde copie la macro, cuando la ejecuté me salio un cuadro de error como el de la imagen. Así que supuse que fue porque la celda F5 es una fecha. Lo solucione copiando la información de la F5 y cambiándola a texto. Funciona, pero creo es muy rudimentario. ¿Habrá otra manera más simple de hacerlo?

Sub renombraHoja()
'x Elsamatilde
Hoja1.Select
Range("G5").Formula = "=+f6 &"" ""&+TEXT(f5,""DDMMAA"")"
ActiveSheet.Name = "Fondeo" & Range("G5")
Range("G5").ClearContents
End Sub

,

Si funciona no está mal... pero puede estar mejor de este modo:

ActiveSheet.Name = "Imprimir" & Range("F3") & Format(Range("F5"), "ddmmaa")

Allí le das el formato que te guste. Pero Excel no acepta para nombres de hoja las barras propias de las fechas)

Sdos!

Gracias por tu apoyo Elsa Matilde me resultó mejor como tu me lo diste, así queda más sencilla la macro, con menos líneas.

Sub renombraHoja()
'x Elsamatilde
Hoja1.Select
ActiveSheet.Name ="Impresion" &  Range("F3") & " " & format(Range("F6"), "$#,##0.00") & " " & format(Range("F5"), "ddmmyy")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas