Macro para asignar nombre a una hoja

Hola espero puedas ayudarme, tengo una hoja que con un botón me crea una hoja nueva copiando la hoja actual y limpiándola
(eso ya lo tengo listo) lo que quiero es lo siguiente: en la hoja tengo
una celda "E4" que tiene el numero de la hoja, supongamos que es la
numero 2 entonces al crear la nueva seria la numero 3 pero necesito que
aparte de colocarle a la celda E4 el numero 3, le coloque también en el
nombre a la nueva hoja "rep3", y asi sucesivamente hoja por hoja.
Se que no esta difícil pero con lo que conozco no he podido, de antemano gracias

1

1 respuesta

Respuesta
1

Como no sé exactamente como es tu código no puedo saber como calculas las hojas y demás. Sin embargo, en este pequeño programa tienes las funciones que seguro vas a poder usar para tus propósitos:

Option Explicit
Sub RenumeraHojas()
Dim h As Worksheet
For Each h In ThisWorkbook.Worksheets
  h.Name = "Rep" & h.Index
Next h
MsgBox ("El numero de hojas es: " & Worksheets.Count)
End Sub

En el ejemplo todas las hojas del libro se renombran a "RepX" donde X es el índice de la hoja. Ese índice se asigna en la creación, de modo que no tiene que coincidir con lo que tu necesitas si creas y borras hojas por ejemplo. Pero si el número que necesitas lo tienes en E4, entonces podrás hacer algo como:

Worksheets(count).name = "Rep" & Worksheets(count). Range("E4").value

Ya que la hoja creada tiene el último índice aunque la sitúes en otra posición.

En fin, creo que dejo las herramientas suficientes para resolver tu problema.

Hola gracias por tu pronta respuesta te explico mejor, la hoja 1 es un reporte lo lleno dia a dia, cuando voy a cargar el dia siguiente tiene un botón donde le digo crear hoja nueva que seria el reporte 2 debe colocarle 2 a la nueva hoja al crearla y ponerle como nombre a la hoja nueva "rep2" y asi sucesivamente mientras vaya cargando reportes. Si necesitas mas información te paso mi código entonces. Gracias

Bien, cuando das al botón crear hoja y crea la hoja, ésta es la última. Por tanto añadir el siguiente código al final del código de crear hoja debería bastar.

Worksheets(count).name = "Rep" & Worksheets("hojainicial"). Range("E4").value

Tienes que cambiar "hojainicial" por el nombre de la hoja donde está la celda E4, que contiene el número que quieras dar a la hoja.

Añade tu respuesta

Haz clic para o