Mi macro no funciona
¿Hola cómo estas?
Mira tengo esta macro
Sub concilia()
Range("a12").Select
For i = 1 To 500
If ActiveCell = "PROGRAMA NVO.DE SURTIMIENTO GARANTIZADO " Then
celda = ActiveCell.Address
Selection.EntireRow.Copy
Sheets("hoja1").Select
Range("A2000").End(xlUp).Offset(5, 0).Select
ActiveSheet.Paste
End If
ActiveCell.Offset(1, 0).Select
Next
Application.CutCopyMode = False
End Sub
Lo que quiero que haga es que busque en la columna "a" a partir de la fila doce esto PROGRAMA NVO.DE SURTIMIENTO GARANTIZADO si contiene este dato, que copie toda la fila y valla 5 filas más abajo de donde se encuentra el ultimo dato y comience a pegar ahí los datos, el problema es que lo pega y empieza a buscar a partir de donde pego y obvio todas las celdas están vacías.
La otra cosa que quiero preguntar es si no hay una forma de especificar en lugar de for i = 1 to 500 algo que finalice cuando encuentre la primera celda vacía
Gracias y Saludos
Mira tengo esta macro
Sub concilia()
Range("a12").Select
For i = 1 To 500
If ActiveCell = "PROGRAMA NVO.DE SURTIMIENTO GARANTIZADO " Then
celda = ActiveCell.Address
Selection.EntireRow.Copy
Sheets("hoja1").Select
Range("A2000").End(xlUp).Offset(5, 0).Select
ActiveSheet.Paste
End If
ActiveCell.Offset(1, 0).Select
Next
Application.CutCopyMode = False
End Sub
Lo que quiero que haga es que busque en la columna "a" a partir de la fila doce esto PROGRAMA NVO.DE SURTIMIENTO GARANTIZADO si contiene este dato, que copie toda la fila y valla 5 filas más abajo de donde se encuentra el ultimo dato y comience a pegar ahí los datos, el problema es que lo pega y empieza a buscar a partir de donde pego y obvio todas las celdas están vacías.
La otra cosa que quiero preguntar es si no hay una forma de especificar en lugar de for i = 1 to 500 algo que finalice cuando encuentre la primera celda vacía
Gracias y Saludos
1 respuesta
Respuesta de excelinomano
1