Necesito copiar los datos de una base de datos a una planilla desde donde se genera la base de datos

Hola, tengo un problema y me gustaría mucho que me puedan ayudar.
En el archivo adjunto tenemos una planilla en la Hoja llamada 'OT BANCO BATERÍAS', en esa hoja tenemos una ficha que se irá llenando con los campos que existen en la misma. Esos datos que se llenan en esa ficha tienen que guardarse o archivarse en una hoja llamada 'BASE DATOS' tal como está en el archivo adjunto. Ahora bien, en esa base de datos se debe realizar una búsqueda de los datos que se han ido llenando anteriormente, esta búsqueda se la debe realizar por los campos "Fecha" y ''Subestación", esto es se debe realizar una pequeña ventana que me pida ingresar o seleccionar la Subestación y fecha deseada, entonces cuando se encuentre la fila que tenga la fecha y subestación ingresada, los datos que se encuentran en esa fila, de la base de datos, deben volver a la planilla desde donde fueron ingresados, esto es para facilidad de entender esos datos, ya que en la base de datos es muy complicado analizar estos debido a la existencia de muchas columnas.
Les agradezco muchísimo su ayuda.

PD: link para descargar el archivo

https://docs.google.com/file/d/0B_XLxHdxl6qCTGtCRVJNR2FIZjA/edit?usp=sharing

1 Respuesta

Respuesta
1

Este código busca datos en una columna de acuerdo a criterios, en www.programarexcel.blogspot.com hay otros ejemplos de procedimientos que manipulan datos como lo que tu quieres es cuestión de adaptarlo a tu problema, revísalo y me comentas para avanzar con la solución.

Sub busca()
'Evito movimientos en la pantalla
Application.ScreenUpdating = False
'Dimensiono variables
Dim fila, filaaddress, contá As Integer
fila = 2
filaaddress = 2
contá = 0
On Error Resume Next
'Realiza el bucle mientras la columna 1 de hoja alumno no este vacía
While Sheets("Alumnos").Cells(fila, 1) <> Empty
'Controlo errores
' Realizo un nuevo bucle en la hoja adress mientras las filas de la columna 1 de esta hoja no estén vacías
' y el cotador sea cero
While Sheets("Address").Cells(filaaddress, 2) <> Empty And contá = 0
dato1 = Sheets("Alumnos").Cells(fila, 1)
dato2 = Sheets("Address").Cells(filaaddress, 1)
'Si el nombre de la columna uno de la hoja alumno es igual al nombre de la columna uno de la hoja address
If Sheets("Alumnos").Cells(fila, 1) = Sheets("Address").Cells(filaaddress, 1) Then
'es decir si encontró el dato, copia la dirección en la hoja alumno y voy a la fila siguiente de la hoja alumnos
Sheets("Alumnos").Cells(fila, 3) = Sheets("Address").Cells(filaaddress, 2)
'Si encontró el dato hago que el contador sea 1 para que no busque más
contá = 1
Else
'Si no encontró el dato aumento la fila de la hoja address para seguir buscando hasta el final
filaaddress = filaaddress + 1
End If
Wend
'Aumento en uno la fila para seguir buscando el dato siguiente de la hoja alumnos
fila = fila + 1
'Vuelvo filaaddress y contador a su valor de origen
filaaddress = 2
contá = 0
Wend
'Vuelvo movimientos de la pantalla a su estado original
Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas