Varios datos de vuelta!

18/05/2008 - 18:22 por ElProfe | Informe spam
Amigos del grupo:

En esta oportunidad me asiste una curiosidad para Excel 2003 y es la
siguinete:

-En la Hoja1 tengo una base de datos de la cartera (deudores) de un
negocio
(Fecha, IDdeudor, Nombredeudor, Documento, Concepto, Débitos y
Créditos)

-En la Hoja2 debo hacer consultas por cliente, digitando únicamente (o
seleccionando) el IDdeudor

Como consigo que usando Las funciones o ActiveX de Excel y con solo
digitar el IDdeudor, en la hoja de consultas se muestren verticalmente
todas las transacciones de ese cliente? (facturas, pagos, notas débito
y crédito)

Hasta ahora he logrado que solo se muestre el primer registro
encontrado en la base de datos.

Gracias por sus ideas y por su ayuda

Cordialmente saludo,

ElProfe
 

Leer las respuestas

#1 Héctor Miguel
18/05/2008 - 20:57 | Informe spam
hola, Manuel !

-En la Hoja1 tengo una base de datos de la cartera (deudores) de un negocio
(Fecha, IDdeudor, Nombredeudor, Documento, Concepto, Debitos y Creditos)

-En la Hoja2 debo hacer consultas por cliente, digitando unicamente (o seleccionando) el IDdeudor

Como consigo que usando Las funciones o ActiveX de Excel y con solo digitar el IDdeudor
en la hoja de consultas se muestren verticalmente todas las transacciones de ese cliente?
(facturas, pagos, notas debito y credito) (...)



-> usa los filtros avanzados por codigo para "refrescar" los datos que consultes en cada ocasion (p.e.)
suponiendo que en tu hoja1 los titulos estan en el rango [A1:G1] (fecha, iddeudor, etc.)
por lo que tus registros inician en la fila 2

-> en la hoja2:
1) copia en la celda A1 el mismo titulo que tienes para iddeudor (o el campo que requieras para filtrar
2) en la celda A2 vas a "solicitar" la id que requieras consultar
3) copia/pega las siguientes lineas => en el modulo de codigo de esta hoja2:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$2" Then Exit Sub
Worksheets("hoja1").Range("a1").CurrentRegion.AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("a1:a2"), _
CopyToRange:=Range("a4:g4"), _
Unique:=False
End Sub

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Preguntas similares