Extraer Nombre de Base de Datos

A los miembros de este foro, recurro nuevamente a uds. En una formula que me permita extraer, buscarv o elegir los datos de este archivo la cual muestro en la imagen:

Y lo que se pretende es que al digitar el DNI del trabajador en la CELDA A4 muestre todos los datos relacionado al DNI en las columnas B, C, D, E, F, G; como se muestra en la imagen como resultado final.

A la espera de su gentil colaboración y ayuda quedo nuevamente agradecido.

1 Respuesta

Respuesta
1

Encendé la grabadora de macros (menu Programador o el botoncito al pie de la hoja)

Ingresa el nro en la celda y filtra la tabla por este valor. Luego selecciona la tabla resultante, copiala en la otra hoja en la posición que corresponda. Detener la macro.

Seguramente como paso previo habría que borrar los datos anteriores en la hoja destino.

Luego deja escrita aquí la macro que encontrarás en un módulo del Editor para realizarle los ajustes finales.

Buenos días Elsa Matilde, adjunto la macro que se grabo en el editor VBA 

Sub Macro2()
'
' Macro2 Macro
'

'
Sheets("Hoja1").Select
Range("A4").Select
ActiveCell.FormulaR1C1 = "18128809"
Range("B4").Select
Sheets("PLANILLA").Select
Selection.AutoFilter
ActiveSheet.Range("$A$8:$G$2000").AutoFilter Field:=3, Criteria1:= _
"ALEMAN CARPIO MANUEL SANTOS"
Range("C8:G1240").Select
Selection.Copy
Sheets("Hoja1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D9").Select
Sheets("PLANILLA").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 27
ActiveWindow.ScrollColumn = 28
ActiveWindow.ScrollColumn = 29
ActiveWindow.ScrollColumn = 30
ActiveWindow.ScrollColumn = 31
Range("AR8:AR1240").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hoja1").Select
Range("G4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

A la espera de gentil y apoyo incondicional, quedo agradecido por los buenos aportes echos.

A parte de realizar una macro para este pedido no hay ninguna formula en excel que permita realizar como EXTRAER, BUSCARV, BDEXTRAE, INDICE, COINCIDIR o ELIGIR.

Te adjunto la macro un poco más limpia y para usos futuros. Si todavía queda algo por resolver pasame una hoja de ejemplo así no tengo que dedicar tiempo a rellenar una tabla con tus datos.

Private Sub Worksheet_Change(ByVal Target As Range)
'x Elsamatilde
'se controla lo ingresado en A1,
'si queda vacía no se ejecuta sino se filtra hoja PLANILLA
If Target.Address(False, False) <> "A4" Then Exit Sub
If Target.Value = "" Then Exit Sub
'se limpia la hoja de datos anteriors
Range("B4:G" & Range("B" & Rows.Count).End(xlUp).Row).ClearContents
'se selecciona la celda destino para la copia
Range("B4").Select
dato = Target.Value
'se pasa a la hoja para filtrarla por col nro doc
Sheets("PLANILLA").Select
Selection.AutoFilter
ActiveSheet.Range("$B$8:$AR$" & Range("B" & Rows.Count).End(xlUp).Row).AutoFilter Field:=1, _
Criteria1:=dato
'se selecciona el rango resultante col B:F
Range("C8:G" & Range("C" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Hoja1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'vuelve para copiar otra col
Sheets("PLANILLA").Select
Range("AR8:AR" & Range("C" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Hoja1").Select
Range("G4").Select
Range("A4").Select
End Sub

El pegado lo estás haciendo como solo valores, entiendo que tenés entonces fórmulas en las col C:G y AR .... sino se puede simplificar un poco más.

Sdos!

Buenos días Elsa, no hay fórmulas en las col C:G y AR ...., solo que los copie así, cuando debió ser en formato general, ademas cuando ejecuto la macro emite este error.

La macro lo estoy alojando en la Hoja1 (destino), cuando dígito el DNI en la columna A4, y aparte de realizar el traspaso de datos no forma alguna que se utilicen formulas como buscarv, indice, elegir, extraer, bdextraer, etc.

Y nuevamente agradezco la ayuda desinteresada y como dices, haré un poco mas practico la consulta en generar pequeñas grabaciones para así poder simplificar y ahorrar tiempo.

Enviame parte de tu hoja PLANILLA. Mis correos aparecen en el sitio que dejo al pie.

¡Gracias! 

Buenas tardes Elsa, para comentarte que la macro quedo excelentemente, por lo que agradezco tu colaboración y paciencia, y como me indicastes para futuras preguntas haré un poco mas sencillo una pequeña macro con el grabador VBA para saber que es lo que uno pretende en la solución.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas