BuscarV en ComboBox no funciona

Tengo un formulario con 2 combobox y varios textbox que dependen de dichos combobox

El primer combobox le inserte un código que busca un elemento de una tabla de datos de un archivo de excel para que algunos de los textbox se llenen con datos de otras columnas de la tabla de datos y funciono perfecto. ¿Pero luego al hacer lo mismo con el segundo ComboBox no funciona alguien me podría decir que estoy haciendo mal?

Gracias

$$\begin{align}&Private Sub cbxOrigen_Change()\\ &Sheets("CLIENTES").Select\\ &txtRazon = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 2, 0)\\ &txtContacto = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 3, 0)\\ &txtNit = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 4, 0)\\ &txtTelefono = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 5, 0)\\ &txtCiudad = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 6, 0)\\ &txtDto = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 8, 0)\\ &txtForma = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 9, 0)\\ &txtDireccion = WorksheetFunction.VLookup(Val(cbxOrigen), Range("a2:i500"), 7, 0)\\ &Sheets("PRODUCTOS").Range("E1").Value = Me.txtDto.\text\\ &\end Sub\end{align}$$

Este es el código del combobox que funciona y a continuación muestro el que no

$$$$

El error que me aparece es:

Run time error "1004":

Unable to get Vlookup property of the worksheet Function class

William Medina

1 Respuesta

Respuesta
2

¿Cuál es el código que sí te funciona?

Haces demasiados VLookUp, con uno basta, modifícalo así:

Private Sub cbxOrigen_Change()
 Sheets("CLIENTES").Select
 Dim Celda As Range
 Set Celda = WorksheetFunction.VLookup(Val(cbxOrigen), Range("A2:i500"), 2, 0)
 If Not Celda Is Nothing Then
 txtRazon = Celda.Value
 txtContacto = Celda.Offset(0, 1).Value
 txtNit = Celda.Offset(0,2).Value
 txtTelefono = Celda.Offset(0,3).Value 
 txtCiudad = Celda.Offset(0,4).Value 
 txtDto = Celda.Offset(0,6).Value 
 txtForma = Celda.Offset(0,7).Value 
 txtDireccion = Celda.Offset(0,5).Value 
 End If
 Sheets("PRODUCTOS").Range("E1").Value = Me.txtDto.text
end Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas