Buscar datos en una tabla excel

Hola, tengo una BD con unos 100 trabajadores, lo que quiero es hacer un userform de búsqueda para que cuando ponga el nombre de un vendedor me salga tantas veces este incluido en la BD, lo que he conseguido hacer solo me busca el primer dato si ha trabajado en un mes varias veces solo me salen los datos del primer trabajo. Esto es lo que yo tengo echo
Private Sub ComboBox1_Change()
Cells(ComboBox1.ListIndex + 6, 1).Select
ComboBox1.AddItem ActiveCell.Value
'cargamos los datos correspondientes
'al producto elegido
TextBox2 = ActiveCell.Offset(0, 1)
TextBox3 = ActiveCell.Offset(0, 2)
TextBox4 = ActiveCell.Offset(0, 3)
ComboBox1.SetFocus
End Sub
Private Sub ComboBox2_Enter()
'En caso de error, que continúe
On Error Resume Next
'limpiamos los datos del Combobox
ComboBox2.Clear
HOLA.Select
Range("G6").Select
'Vamos a llenar dinámicamente el combobox
'con los nombres de los artículos, hasta
'encontrar una fila vacía
Do While Not IsEmpty(ActiveCell)
'ponemos el nombre del producto
 ComboBox2.AddItem ActiveCell.Value
'bajamos una fila
 ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.ComboBox1
End Sub

1 respuesta

Respuesta
1
Viendo tu código, entiendo que el combobox1, solo te posiciona la celda el la cual estas esta posicionado el combobox. Y rellena 3 textbox con las celda siguientes hacia la derecha.
El Combobox2 se supone que se debería lleveria llenar con los datos a partir del rango G6 hasta que ya no encuentre datos o hasta encontrar una celda vacía,
Pero, por tu pregunta, quieres saber cuantas veces se repite en la bd, no veo en tu código, la parte que dices que te encuentran los trabajadores, solo nombres de articulo.
Te voy a poner un ejemplo en base a lo que me preguntas :
Supongamos que tienes 2 hojas,
Hoja Trabajadores = esta contiene todos los nombres de trabajadores,
Hoja repetidos = esta contiene el trabajador una o varias veces
Creare un Formulario, con 1 Combobox y 1 Campo de texto
Combobox1 = contendrá el nombre del trabajador
Textbox1 = Veces que se repite en la bd
El código es el siguiente:
Private Sub ComboBox1_Change()
' tomo el nombre desde el combobox
trabajador = ComboBox1.Text
' variable la vuelvo a 0
repetido = 0
' cuento los resultados desde la hoja repetido columna a
repetido = Application.WorksheetFunction.CountIf(Sheets("repetidos").Columns("A:A"), trabajador)
' pongo el total en el textbox
TextBox1.Text = repetido
End Sub
Private Sub UserForm_Activate()
' Abro la hoja de trabajadores
Sheets("Trabajadores").Select
' Me posisiono en el rango a2
Range("a2").Select
' agrego los datos hasta la ultima celda en blanco
Do While Not IsEmpty(ActiveCell)
ComboBox1.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas