Traspasar datos de archivo excel que se actualiza a otro archivo excel

Hola necesito de tu ayuda, resulta que tengo un archivo en excel que se llama opera mina 3.1 y que se actualiza todos los días y del cual necesito traspasar los datos del día a otro archivo excel que se llama horas. Fuera de servicio pozos, he probado todos los métodos que conozco y no me resulta..., por favor alguna idea de como hacerlo..., Gracias

1 Respuesta

Respuesta
1

Te mando la macro
Instrucciones para copiar la macro
1. Abre tu hoja de Excel “horas. Fuera de servicio pozos”
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
Instrucciones para crear un botón:
1. En tu libro “horas. Fuera de servicio pozos”
2. Del menú elegir Insertar / Imagen / Autoformas
3. Elige el botón que más te guste.
4. Coloca la imagen donde gustes (dentro de tu libro “horas. Fuera de servicio pozos”)
5. Sobre la imagen, presiona click derecho, en el menú que te aparece selecciona Modificar Texto, escribe “Actualizar”. Presiona enter.
6. Vuelve a presionar click derecho, sobre la imagen, en el menú que te aparece selecciona: Asignar Macro
7. Selecciona de la lista que te aparece buscadias y le das aceptar
8. Guarda tu libro
9. Listo, cuando acerques el cursor al botón te aparecerá una manita, presiona el botón y la macro se ejecutará.
'***Macro***
Sub buscadias()
'Selecciona registros por fecha y los copia
'Por.Dam
On Error Resume Next
Dim fecha As Date
Workbooks("horas. Fuera de servicio pozos").Activate
Worksheets("Hoja1").Select
ufilahoras = ActiveCell.SpecialCells(xlLastCell).Row
Workbooks("opera mina 3.1").Activate
Worksheets("Hoja2").Select
ufilaopera = ActiveCell.SpecialCells(xlLastCell).Row
fecha = InputBox(Prompt:="Fecha a traspasar: ")
j = 0
If fecha <> "" Then
Workbooks("opera mina 3.1").Activate
Worksheets("Hoja2").Select
For i = 1 To ufilaopera
If Cells(i, 1) = fecha Then
'Las fechas son iguales
Set a = Range(Cells(i, 1), Cells(i, 3))
Set b = Range(Cells(i, 6), Cells(i, 6))
Union(a, b).Copy
Workbooks("horas. Fuera de servicio pozos").Activate
Worksheets("Hoja1").Select
ufilahoras = ufilahoras + 1
Cells(ufilahoras, 2).Select
ActiveSheet.Paste
Workbooks("opera mina 3.1").Activate
Worksheets("Hoja2").Select
j = j + 1
End If
Next
End If
Workbooks("horas. Fuera de servicio pozos").Activate
Worksheets("Hoja1").Select
If j > 0 Then
'Si hay registros
MsgBox ("Proceso terminado" & vbNewLine & vbNewLine & _
"Se traspasaron " & j & " registros" & vbNewLine & vbNewLine & _
"Para la fecha " & fecha)
Else
'No hay registros
MsgBox ("Proceso terminado" & vbNewLine & vbNewLine & _
"No hay registros para la fecha " & fecha)
End If
End Sub
'***Macro***
Saludos. DaM

Añade tu respuesta

Haz clic para o