Mostrar última celda de un cliente que se repite

24/02/2008 - 14:26 por GRIEGO59 | Informe spam
Hola!
Tengo en un formulario:
ComboBox1
Textbox15
Textbox16

Tengo una hoja con las columnas Nombre y Pagos.

Los nombres se repiten tantas veces como pagos hace el cliente.
La tabla está ordenada por Nombre y por fecha de pago ascendente.

Me gustaría que Textbox15 y Textbox16 muestren el último y penúltimo pago
del nombre seleccionado en ComboBox1.

Por favor, ayúdenme!

Saludos,
Darío.
 

Leer las respuestas

#1 Héctor Miguel
25/02/2008 - 01:50 | Informe spam
hola, Darío !

Tengo en un formulario: ComboBox1, Textbox15, Textbox16
Tengo una hoja con las columnas Nombre y Pagos.
Los nombres se repiten tantas veces como pagos hace el cliente.
La tabla esta ordenada por Nombre y por fecha de pago ascendente.
Me gustaria que Textbox15 y Textbox16 muestren el ultimo y penultimo pago del nombre seleccionado en ComboBox1...



no comentas en que rango ni de cual hoja estan los datos que quieres mostrar :-((
suponiendo que se trata de la hoja "activa" cuando se muestra el formulario -???-
y que el listado de nombres esta en el rango [A2:A2000] -???-
(obviamente, "te toca" corregir donde los supuestos se equivoquen) :D

para obtener el numero de fila donde esta el ultimo dato del cliente seleccionado en el combobox1...

- define una variable a nivel de modulo (en el modulo de codigo del formulario)
Dim uFilaCliente

- localiza cual es la fila donde esta ese utimo registro (p.e.) en el evento '_change' del combobox1:
Private Sub ComboBox1_Change()
uFilaCliente = Evaluate("max(if(a2:a2000=""" & ComboBox1 & """,row(a2:a2000)))")
MsgBox uFilaCliente
End Sub

- con el numero de fila identificado, ya puedes rescatar los datos de cualquier otra columna
(recuerda que en los datos que expones no indicas nada al respecto) :D

- si suponemos que los datos que necesitas rescatar estan en la columna "W" de la hoja activa
puedes poner el penultimo correspondiente al cliente seleccionado en el combobox1...
TextBox16 = Range("w" & uFilaCliente - 1)
o el ultimo dato...
TextBox15 = Range("w" & uFilaCliente)

saludos,
hector.

Preguntas similares