Copiar hoja y darle nombre según valor de celda

Necesito generar una serie de listados que se crearan en el archivo,

Tengo una hoja inicial que se llama listado y la hoja 1, lo que necesito es una macro que cree la hoja 2 igual a la hoja 1, y cada vez que ejecute la macro cree una nueva hoja 1 pero con el numero correlativo, 1, 2, 3, 4, etc hasta que llegue al limite obviamente nunca lo haré pero necesito eso, si me pudiesen ayudar genial

1 respuesta

Respuesta
1

Hay más de una forma de hacerlo. En esta voy a suponer que el correlativo lo guardas en la celda "A1" de la hoja "Listado", ya tú si deseas cámbialo y/o adáptalo a tus necesidades:

Sub Correlativo()
Dim NumeroHojas As Integer
Let NumeroHojas = Worksheets.Count
Sheets("Hoja1").Copy After:=Sheets(NumeroHojas)
ActiveSheet.Name = Worksheets("Listado").Range("A1").Value + 1
Worksheets("Listado").Range("A1").Value = Val(ActiveSheet.Name)
End Sub

Salu2

Abraham Valencia

Copie la macro, y cambie el rango de "A1" por "R2"

Y al ejecutar la macro me aparece un mensaje de Subíndice fuera del Intervalo

ActiveSheet.Name = Worksheets("Listado").Range("R2").Value + 1
Worksheets("Listado").Range("R2").Value = Val(ActiveSheet.Name)

el resto lo deje tal cual

Otra vez

No has mencionado en que línea te marca el error, pero si dejaste todo tal cual y solo modificaste las líneas que has mostrado, probablemente no exista una hoja llamada "Hoja1" o el nombre exacto de la otra hoja no sea "Listado"

Abraham Valencia

Si, me di cuenta que me equivoque y puse "Hoja 1" cuando el origen es "1", 

como esa hoja ya tiene datos, la copie y deje como origen "0", y me funciona excelente, muchas gracias

¡Gracias! 

De nada, salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas