¿Filtrar lista de artículos con COMBOX?

Tengo una necesidad que creo que es fácil de hacer pero no se como, a ver si me puede ayudar alguien por favor.

Tengo una lista grande de artículos, y quisiera incluir una celda tipo COMBOX (creo que se llama) donde se pueda filtrar los artículos por referencia y que se vayan autocompletando.

¿Eso es posible hacerlo?

Ejm. Celda a1, controla todas las referencias de la hoja y a medida que voy escribiendo se va autocompletando ya que hay muchas referencias iguales.

Cuando válido me indica todas las que tienen la misma referencia ya que pueden estar en varias ubicaciones.

1 Respuesta

Respuesta
1

Envíame tu archivo con la información y me dices en cuál celda pones el artículo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Enrique Garcia” y el título de esta pregunta.

Ahora mismo te lo envío, muchas gracias.

Enrique

H o l a:

Esta es la macro para un combo de controlActiveX

Dim cargando
Private Sub ComboBox1_Change()
'Por.Dante Amor
    Application.ScreenUpdating = False
    If cargando = True Then Exit Sub
    'Set h2 = Sheets("hoja2")
    col = "C"
    cargando = True
    dato = ComboBox1
    ComboBox1.Clear
    For i = 5 To Range(col & Rows.Count).End(xlUp).Row
        If UCase(Cells(i, col)) Like "*" & UCase(dato) & "*" Then
            ComboBox1.AddItem Cells(i, col), 0
            j = j + 1
        End If
    Next
    ComboBox1 = dato
    '
    'Se activa una celda para que aparezca el combo completo
    Range("Z1000"). Activate
    ComboBox1. Activate
    ComboBox1. DropDown
    If ComboBox1.ListIndex > -1 Then
        u = Range("C" & Rows.Count).End(xlUp).Row
        ActiveSheet.Range("$A$4:$H" & u).AutoFilter Field:=3, _
            Criteria1:="=*" & ComboBox1 & "*", Operator:=xlAnd
    Else
        If ComboBox1 = "" Then
            Range("Z1000").Activate
            ComboBox1.Activate
        End If
        On Error Resume Next
        If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
        On Error GoTo 0
    End If
    Application.ScreenUpdating = True
    cargando = False
End Sub

El código va en los eventos de tu hoja.

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas