Macro para buscar datos en otra hoja del libro

Para Dante Amor.

Buenas tardes, he visto las respuestas que das a las multiples necesidades que planteamos los usuarios de este portal, y me parecen excelentes, por esta razón me atrevo a formular la siguiente consulta:

Tengo un archivo que contiene una serie de formularios, lo que hago es un control de inventarios, necesito tener la posibilidad de que al momento de ingresar un movimiento ya sea de entrada o salida, pueda tener la opción de consultar el código del item, utilizando la descripción del mismo, o viceversa.

La lista de los items esta en la hoja5 cuyo nombre es Lista de Productos, los códigos estan en la columna A desde la fila 2 y la descripción esta en la columna B igualmente desde la fila 2. En el formulario tengo un comboBox con el siguiente código en el evento Enter:

final = Hoja5.Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To final
    ComboBox1. AddItem Hoja5.Cells(j, 1)
    ComboBox1. List(ComboBox1.ListCount - 1, 1) = Hoja5.Cells(j, 2)
Next j

La idea es tener la posibilidad de una busqueda por ejemplo similar a la de buscar y reemplazar que tiene Excel, no se si esto sea posible.

1 respuesta

Respuesta
1

H o l a:

Envíame tu archivo para adaptar el código en tu formulario. Dime cuál es el formulario y en dónde quieres realizar la búsqueda o cómo quieres que aparezca el resultado de la búsqueda.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Gilber Fabian Tobar” y el título de esta pregunta.

Hola Dante Amor buen día:

De acuerdo a sus instrucciones, ya le envíe el archivo.

H o l a:

Este es el código

Dim cambio
'
Private Sub ComboBox1_Change()
'Por.Dante Amor
    If cambio Then Exit Sub
    cambio = True
    f = ComboBox1.ListIndex + 2
    ComboBox4 = Hoja5.Cells(f, "B")
    ControlItem
    cambio = False
End Sub
'
Private Sub ComboBox4_Change()
'Por.Dante Amor
    If cambio Then Exit Sub
    cambio = True
    f = ComboBox4.ListIndex + 2
    ComboBox1 = Hoja5.Cells(f, "A")
    ControlItem
    cambio = False
End Sub
Sub ControlItem()
    'Controla q el item no esté en la lista
    For i = 0 To ListBox2.ListCount - 1
        If ListBox2.List(i, 1) = ComboBox1 Then
            MsgBox "Este item ya se encuentra en la lista.", , "ERROR"
            ComboBox1 = "": ComboBox4 = ""
            TextBox8 = "": TextBox9 = "": TextBox12 = ""
            'Cancel = True
            Exit For
        End If
    Next i
End Sub

Hola Dante, muchas gracias, la solución que me planteas es excelente...

Gracias por compartir tus conocimientos, Paz en la tumba de tu padre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas