Buscar por filas y copiar a libro nuevo
Estimado Luis... ¿Cómo sigue todo? Recurro a tu conocimiento para hacerte una consulta acerca de una rutina de Excel.
En un documento de excel, a lo largo de toda la columna I se encuentran fechas de vencimientos. Requiero hacer un buscador simple, que evalúe a lo largo de toda la columna aquellas filas que tienen fecha de un día anterior, y que al encontrar esas filas, copie la fila desde la columna A hasta la L y las vaya pegando en un nuevo libro de Excel. Para ello había pensado ALGO como lo siguiente (advierto que lo hice recién y sé que es bastante pobre jaja):
Option Explicit
Memo As Date
Buscar As Object
Private Sub CommandButton1_Click()
Memo = (Date - 2)
Set Buscar = Range("I:I").Find(what:=Memo, searchorder:=xlByRows, searchdirection:=xlNext)
ActiveWorkbook.Workbook.Sheets(1).Add
Do While Not IsEmpty(ActiveCell)
If (ActiveCell = Buscar) Then
Range(ActiveCell, ActiveCell.Offset(0, -8)).Copy _
destination := ActiveWorkbook.Sheets(2).range("a1")
Else
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Lo malo de este procedimiento es que 1) no sé si está bien la creación del nuevo libro del excel; 2) no estoy señalando DÓNDE COPIAR la fila en el libro nuevo. 3) Es que a medida que copie las filas vaya bajando, como para que al final de la rutina, queden copiadas fila por fila aquellas que cumplen con la restricción.
¡DESDE YA MUCHAS GRACIAS por tu tiempo! Que se entienda que no requiero que construyas la macro por mi, simplemente que puedas tirarme alguna idea acerca de los puntos que indiqué... Nuevamente MUCHÍSIMAS GRACIAS.
Saludos desde argentina!
En un documento de excel, a lo largo de toda la columna I se encuentran fechas de vencimientos. Requiero hacer un buscador simple, que evalúe a lo largo de toda la columna aquellas filas que tienen fecha de un día anterior, y que al encontrar esas filas, copie la fila desde la columna A hasta la L y las vaya pegando en un nuevo libro de Excel. Para ello había pensado ALGO como lo siguiente (advierto que lo hice recién y sé que es bastante pobre jaja):
Option Explicit
Memo As Date
Buscar As Object
Private Sub CommandButton1_Click()
Memo = (Date - 2)
Set Buscar = Range("I:I").Find(what:=Memo, searchorder:=xlByRows, searchdirection:=xlNext)
ActiveWorkbook.Workbook.Sheets(1).Add
Do While Not IsEmpty(ActiveCell)
If (ActiveCell = Buscar) Then
Range(ActiveCell, ActiveCell.Offset(0, -8)).Copy _
destination := ActiveWorkbook.Sheets(2).range("a1")
Else
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Lo malo de este procedimiento es que 1) no sé si está bien la creación del nuevo libro del excel; 2) no estoy señalando DÓNDE COPIAR la fila en el libro nuevo. 3) Es que a medida que copie las filas vaya bajando, como para que al final de la rutina, queden copiadas fila por fila aquellas que cumplen con la restricción.
¡DESDE YA MUCHAS GRACIAS por tu tiempo! Que se entienda que no requiero que construyas la macro por mi, simplemente que puedas tirarme alguna idea acerca de los puntos que indiqué... Nuevamente MUCHÍSIMAS GRACIAS.
Saludos desde argentina!
1 respuesta
Respuesta de Luis_P
1