Como auto completar celda en excel

Lo que quiero hacer es lo siguiente: tengo una factura en una hoja de excel y en otra hoja tengo una lista de clientes. Quiero que al comenzar a escribir el nombre de un cliente en la factura me de opciones de los clientes que existen en la otra lista (lo mismo que hace excel al comenzar a escribir una funcion, cuando colocas "=busc" se despliegan opciones para seleccionar las funciones que empiezan con esas letras).. No se si me explique.

Respuesta
3

Tendría que hacerse con un combobox activeX, y se tiene que programar con una macro.

¿Quieres qué te envíe la macro y cómo debes utilizarla?

si por favor enviame eso si podes.. muchas gracias

Te anexo la macro para que la pongas en los eventos de la hoja "factura"

Dim delchange, cargando
Private Sub ComboBox1_Change()
'Por.Dante Amor
    cargando = False
    cargar
    delchange = True
    ComboBox1.DropDown
    delchange = False
End Sub
'
Private Sub ComboBox1_DropButtonClick()
'Por.Dante Amor    If delchange Then Exit Sub
    cargando = False
    cargar
    delchange = False
End Sub
'
Sub cargar()
'Por.Dante Amor
    If cargando Then Exit Sub
    cargando = True
    Set h2 = Sheets("clientes")
    ComboBox1.ListFillRange = ""
    ca = "A"
    cb = "AB"
    h2.Columns(cb).Clear
    If ComboBox1 = "" Then
        ComboBox1.ListFillRange = h2.Name & "!" & ca & "2:" & ca & h2.Range(ca & Rows.Count).End(xlUp).Row
    Else
        j = 2
        For i = 2 To h2.Range(ca & Rows.Count).End(xlUp).Row
            If Left(UCase(h2.Cells(i, ca)), Len(ComboBox1)) = UCase(ComboBox1) Then
                h2.Cells(i, ca).Copy h2.Cells(j, cb)
                j = j + 1
            End If
        Next
        ComboBox1.ListFillRange = h2.Name & "!" & cb & "2:" & cb & h2.Range(cb & Rows.Count).End(xlUp).Row
    End If
End Sub

Te anexo el archivo para que veas el funcionamiento:

https://www.dropbox.com/s/lafym6a8rwrqhoa/combobox1%20carga%20por%20caracter.xlsm?dl=0 

Saludos. Dante Amor

Recuerda cambiar la valoración de la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas