Userform Selección datos de Columna.

Buenos días Expertos,

Quisiera hacer un User form donde tenga un desplegable y al pinchar me aparezca el valor Dni que tengo grabado en una hoja llamada CLIENTES, los datos empiezan a partir de A3 y que cuando seleccione ese cliente el valor me lo lleve a una hoja llamada FILTRO y me pegue el valor en b2 si alguien me puede ayudar se lo agradecería.

Saludos

1 Respuesta

Respuesta
2

Estas son las macros necesarias:

Por un lado la macro UserForm_Initialize se encarga de cargar el combo con todos los dni de la columna A desde A3 hacia abajo

Luego con la macro ComboBox1_Change cuando tomemos un dni lo copiará a la celda B2 de la hoja FILTRO

Recuerda valorar la respuesta por favor

Private Sub ComboBox1_Change()
valor = ComboBox1.Value
Sheets("filtro").Range("b2").Value = valor
End Sub
Private Sub UserForm_Initialize()
Sheets("clientes").Select
ComboBox1.RowSource = "a3:a" & Range("a65000").End(xlUp).Row
End Sub

Funciona de Lujo, ¿tengo otra pregunta... cuando selecciono el Dni me gustaría que en el userm form me devolviera el nombre del titular de ese dni que se encuentra en B3 como podría hacerlo?

Gracias

Y que solo me muestre en el list box solo los DNI que en la columna que sean >1 ya que todos los que tienen valor 0 son clientes no habituales..

Saludos y muchas gracias

En ese caso las macros necesarias serían estas:

Private Sub ComboBox1_Change()
valor = ComboBox1.Value
For Each celda In Range("a3:a" & Range("a65000").End(xlUp).Row)
If celda = CDbl(valor) Then
TextBox1.Value = Sheets("clientes").Cells(celda.Row, 2)
Exit For
End If
Next
Sheets("filtro").Range("b2").Value = valor
End Sub
Private Sub UserForm_Initialize()
Sheets("clientes").Select
For Each celda In Range("a3:a" & Range("a65000").End(xlUp).Row)
If celda <> "" And celda > 0 Then
ComboBox1.AddItem celda.Value
End If
Next
End Sub

Cuando lo ejecuto me da error en esa línea, error en tiempo de ejecución 13, no coinciden los tipos, esto ocurre cuando selecciono uno de los dni.

Además no hace caso de >0 los sigue mostrando todos, el valor que debe comparar >0 esta en la columna k y no lo veo definido en la macro o no la entiendo muy bien.

Espero tu contestación, gracias por el tiempo dedicado

Saludos

¿Inicialmente decías que los dni están en la columna A desde A3 hacia abajo no era así?

Ya está Solucionado, Muchas gracias por tu tiempo.

Ok, recuerda valorar para que la pregunta quede finalizada

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas