Me gustaría pedirles ayuda ya que estoy haciendo una macro para que me importe los datos de un libro a otro.
En uno de los libros tengo una base de datos en de un año entero(la hoja se llama Final) y en el otro tengo varias hojas divididas por mes. Teniendo ambos una columna en común que es la fecha.
Lo que me gustaría es que en función de la fecha que esta en la columna lo busque en el libro (previsión) y copie el resto de columnas en el libro(informe) .
Espero haberme explicado bien. Os dejo el macro en el que estuve trabajando funciona pero no me copia nada, es decir, erro no da.
Sub Actualizar()
Dim hora0 As String
Dim hora1 As String
Dim hora2 As String
Dim fecha_informe As Date
Dim fecha_prevision As Date
Dim fila_informe As Long
Dim fila_prevision As Long
Workbooks("informe.xlsm").Activate
fila_informe = Range("a65000").End(xlUp).Row
i = 2
Do While i <= fila_informe
fecha_informe = Cells(i, 1).Value
Workbooks("Prevision.xlsm").Activate
fila_prevision = Range("a65000").End(xlUp).Row
j = 2
Do While j <= fila_prevision
fecha_prevision = Cells(j, 4).Value
If fecha_prevision = fecha_informe Then
hora0 = Cells(j, 6).Value
hora1 = Cells(j, 7).Value
hora2 = Cells(j, 8).Value
Workbooks("informe.xlsm").Activate
Cells(i, 2).Value = hora0
Cells(i, 3).Value = hora1
Cells(i, 4).Value = hora2
j = fila_prevision
End If
j = j + 1
Loop
Workbooks("informe.xlsm").Activate
i = i + 1
Loop
End Sub
Gracias por todo. Espero que podáis ayudarme.
Un saludo
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Buenos días,
Me gustaría pedirles ayuda ya que estoy haciendo una macro para que me importe los datos de un libro a otro.
En uno de los libros tengo una base de datos en de un año entero(la hoja se llama Final) y en el otro tengo varias hojas divididas por mes. Teniendo ambos una columna en común que es la fecha.
Lo que me gustaría es que en función de la fecha que esta en la columna lo busque en el libro (previsión) y copie el resto de columnas en el libro(informe) .
Espero haberme explicado bien. Os dejo el macro en el que estuve trabajando funciona pero no me copia nada, es decir, erro no da.
Sub Actualizar()
Dim hora0 As String
Dim hora1 As String
Dim hora2 As String
Dim fecha_informe As Date
Dim fecha_prevision As Date
Dim fila_informe As Long
Dim fila_prevision As Long
Workbooks("informe.xlsm").Activate
fila_informe = Range("a65000").End(xlUp).Row
i = 2
Do While i <= fila_informe
fecha_informe = Cells(i, 1).Value
Workbooks("Prevision.xlsm").Activate
fila_prevision = Range("a65000").End(xlUp).Row
j = 2
Do While j <= fila_prevision
fecha_prevision = Cells(j, 4).Value
If fecha_prevision = fecha_informe Then
hora0 = Cells(j, 6).Value
hora1 = Cells(j, 7).Value
hora2 = Cells(j, 8).Value
Workbooks("informe.xlsm").Activate
Cells(i, 2).Value = hora0
Cells(i, 3).Value = hora1
Cells(i, 4).Value = hora2
j = fila_prevision
End If
j = j + 1
Loop
Workbooks("informe.xlsm").Activate
i = i + 1
Loop
End Sub
Gracias por todo. Espero que podáis ayudarme.
Un saludo