una - Excel VBA: copie e inserte la fila según el valor de celda
macro para insertar filas en excel (1)
Public Sub ExpandRecords()
Dim i As Long, s As String
Const COL = "G"
For i = 1 To Cells(Rows.Count, COL).End(xlUp).Row
If Cells(i, COL) = 2 Then
s = s & "," & Cells(i, COL).Address
End If
Next
If Len(s) Then
Range(Mid$(s, 2)).EntireRow.Insert
For i = 1 To Cells(Rows.Count, COL).End(xlUp).Row
If Cells(i, COL) = vbNullString Then
Cells(i, COL).Value = 1
End If
Next
End If
End Sub
Estoy tratando de lograr esto:
columna G ========> nueva columna G
2 1
2
2 1
2
1 1
1 1
2 1
2
He consultado muchas preguntas diferentes para responder a esto, pero creo que mi código es incorrecto porque quiero copiar toda la fila cuando inicialmente es G = 2 e insertarlo directamente debajo, en lugar de copiarlo habitualmente en otra hoja en Excel.
Sub duplicate()
Dim LastRow As Long
Dim i As Integer
For i = 2 To LastRow
If Range("G" & i).Value = "2" Then
Range(Cells(Target.Row, "G"), Cells(Target.Row, "G")).Copy
Range(Cells(Target.Row, "G"), Cells(Target.Row, "G")).EntireRow.Insert Shift:=xlDown
End If
Next i
End Sub
¡Muchas gracias a todos y a todos!
Automatización de Excel VBA: copie la fila "x" número de veces en función del valor de celda