0% encontró este documento útil (0 votos)
13 vistas2 páginas

Macro para replicar y renombrar hojas Excel

El documento describe dos macros en VBA. La macro 1 permite replicar una hoja de formulario según el número de copias especificado por el usuario. La macro 2 recorre las hojas de formulario replicadas y llena celdas clave en cada hoja con datos de una hoja maestra.

Cargado por

NaThy Garcia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas2 páginas

Macro para replicar y renombrar hojas Excel

El documento describe dos macros en VBA. La macro 1 permite replicar una hoja de formulario según el número de copias especificado por el usuario. La macro 2 recorre las hojas de formulario replicadas y llena celdas clave en cada hoja con datos de una hoja maestra.

Cargado por

NaThy Garcia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Sub MACRO1()

On Error Resume Next

nombreHoja = InputBox("ESCRIBIR NOMBRE DEL FORMULARIO A REPLICAR", "HOJA DE


FORMULARIO", "FORMULARIO")

For x = 1 To [Link]

If [Link](x).Name = nombreHoja Then

ExisteHoja = True

IndiceHoja = x

End If

Next x

If ExisteHoja = True Then

NumeroDeCopias = InputBox("CANTIDAD DE REPLICAS", "NUMERO DE COPIAS",


[Link](Range("B4:B5000")))

For y = 1 To NumeroDeCopias

Nombre = Val(nombreHoja) + y

Sheets(IndiceHoja).Select

Sheets(IndiceHoja).Copy After:=Sheets([Link])

Sheets([Link]).Name = Nombre

Next y

Else

MsgBox "La hoja no existe"

End If

End Sub

Sub MACRO2()

Dim CeldaInicial As Integer

Dim intHojas As Integer

Dim i As Integer 'Guardamos el dato de la cantidad de hojas

intHojas = [Link] 'Si hay menor de 4 hojas la macro no continúa.

If intHojas < 3 Then


MsgBox "Debe haber por lo menos 4 hojas en el libro", vbExclamation, "EXCELeINFO"

Else

'Recorremos cada formulario y cambiamos el nombre del formulario y llenamos las celdas
en cada formulario

'Para otro tipo de formulario u otro tipo de datos es solo cambiar los caracteres XX en
"[Link](i).Range("XX")" para las celdas del formulario y

'cambiar los caracteres XX en "= Range("XX").Offset(CeldaInicial, 0).Value" para las celdas


de la base de datos

CeldaInicial = 0

For i = 3 To intHojas

On Error Resume Next

[Link](i).Name = Range("B4").Offset(CeldaInicial, 0).Value

[Link](i).Range("J3") = Range("M4").Offset(CeldaInicial, 0).Value

[Link](i).Range("C3") = Range("B1").Value

[Link](i).Range("C6") = Range("C4").Offset(CeldaInicial, 0).Value

[Link](i).Range("C7") = Range("D4").Offset(CeldaInicial, 0).Value

[Link](i).Range("C8") = Range("F4").Offset(CeldaInicial, 0).Value

[Link](i).Range("C9") = Range("E4").Offset(CeldaInicial, 0).Value

[Link](i).Range("C5") = Range("F4").Offset(CeldaInicial, 0).Value

[Link](i).Range("I6") = Range("H4").Offset(CeldaInicial, 0).Value

[Link](i).Range("I7") = Range("I4").Offset(CeldaInicial, 0).Value

[Link](i).Range("I8") = Range("K4").Offset(CeldaInicial, 0).Value

[Link](i).Range("I9") = Range("J4").Offset(CeldaInicial, 0).Value

CeldaInicial = CeldaInicial + 1

On Error GoTo 0

Next

End If

End Sub

También podría gustarte