Con la ayuda de muchos aqui, después de leer pude encontrar y utilizar esta macros, antes las variables solo eran "c" , ahora trate de agregarle mas, pero me marca error en la linea Next C, se supone que el macros lea los datos de los rangos de celdas definidas, luego copie un formato de otra hoja, y con esos datos nuevos cree una nueva hoja, definiendo el nombre con la celda j2, pero trate de hacerlo mas grande y quisiera agregar que tambien copie los datos de las celdas "B, I , J", pero me marca error, no se si deba cambiar la linea "Next c" para que haga el loop con las demas variables
Sub Copia()
Dim c As Range
Dim u As Range
Dim vd As Range
Dim vdr As Range
'--
Application.ScreenUpdating = False
For Each c In Range("C2", Range("C" & Rows.Count).End(xlUp))
For Each u In Range("B2", Range("B" & Rows.Count).End(xlUp))
For Each vd In Range("I2", Range("I" & Rows.Count).End(xlUp))
For Each vdr In Range("J2", Range("J" & Rows.Count).End(xlUp))
Sheets("BASE").Copy , Sheets(Sheets.Count)
With ActiveSheet
.Range("J2") = c
.Range("H3") = cu
.Range("J59") = vd
.Range("J60") = vdr
If Len(.Name) > 10 Then
.Name = Left(c.Offset(, 2), 10)
Else
.Name = c
End If
End With
Next c
Application.ScreenUpdating = True
End Sub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Con la ayuda de muchos aqui, después de leer pude encontrar y utilizar esta macros, antes las variables solo eran "c" , ahora trate de agregarle mas, pero me marca error en la linea Next C, se supone que el macros lea los datos de los rangos de celdas definidas, luego copie un formato de otra hoja, y con esos datos nuevos cree una nueva hoja, definiendo el nombre con la celda j2, pero trate de hacerlo mas grande y quisiera agregar que tambien copie los datos de las celdas "B, I , J", pero me marca error, no se si deba cambiar la linea "Next c" para que haga el loop con las demas variables
Sub Copia()
Dim c As Range
Dim u As Range
Dim vd As Range
Dim vdr As Range
'--
Application.ScreenUpdating = False
For Each c In Range("C2", Range("C" & Rows.Count).End(xlUp))
For Each u In Range("B2", Range("B" & Rows.Count).End(xlUp))
For Each vd In Range("I2", Range("I" & Rows.Count).End(xlUp))
For Each vdr In Range("J2", Range("J" & Rows.Count).End(xlUp))
Sheets("BASE").Copy , Sheets(Sheets.Count)
With ActiveSheet
.Range("J2") = c
.Range("H3") = cu
.Range("J59") = vd
.Range("J60") = vdr
If Len(.Name) > 10 Then
.Name = Left(c.Offset(, 2), 10)
Else
.Name = c
End If
End With
Next c
Application.ScreenUpdating = True
End Sub