Problema con un ComboBox de Formulario en Excel
Muy buenas tardes, espero alguien me pueda ayudar con esto ya que llevo batallando ya un buen tiempo y no he podido solucionar el problema, explico:
Tengo un formulario en el cual le inserte un ComboBox que me extrae la información de los códigos de los productos de una Hoja llamada Producto, y le inserte dos Label, que me sirven para que me muestre el Label5 "Nombre del Producto" y Label6 "Capacidad", ahora bien, el problema es que tengo en la Hoja Producto en la celda B2 48, B3 50 y B4 51; en C2 Anís, C3 Venado y C4 Quezalteca, etc. Pero cuando ingreso el 48, 50 ó 51 en el ComboBox me tira información perteneciente a otro código y no sé porqué, ya que a partir de B5 todos los códigos que ingreso me dan la información correcta, alguien me podría ayudar, adjunto el código que tengo:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo Salir1:
X = Sheets("Producto").Cells.Find(What:=ComboBox1, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Row
Label5 = Sheets("Producto").Range("c" & X).Value
Label6 = Sheets("Producto").Range("d" & X).Value
Exit Sub
Salir1:
UserForm2.ComboBox1 = Empty
UserForm2.ComboBox1.SetFocus
If ComboBox1 = "" Then
ComboBox1.SetFocus
End If
End Sub
While Cells(fila, Col) <> Empty
fila = fila + 1
Wend
Cells(fila, 2) = Val(ComboBox1)
Cells(fila, 3) = Val(TextBox2)
Cells(fila, 4) = Val(TextBox3)
Cells(fila, 5) = Val(TextBox4)
Cells(fila, 19) = Val(TextBox5)
ComboBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
Label5 = Empty
Label6 = Empty
Application.ScreenUpdating = True
ComboBox1.SetFocus
End Sub
Private Sub UserForm_Activate()
ult1 = "Producto!B1:B" & Sheets("Producto").Range("B65536").End(xlUp).Row
ComboBox1.RowSource = ult1
End Sub
Private Sub UserForm_Initialize()
ult1 = "Producto!B1:B" & Sheets("Producto").Range("B65536").End(xlUp).Row
ComboBox1.RowSource = ult1
End Sub
Tengo un formulario en el cual le inserte un ComboBox que me extrae la información de los códigos de los productos de una Hoja llamada Producto, y le inserte dos Label, que me sirven para que me muestre el Label5 "Nombre del Producto" y Label6 "Capacidad", ahora bien, el problema es que tengo en la Hoja Producto en la celda B2 48, B3 50 y B4 51; en C2 Anís, C3 Venado y C4 Quezalteca, etc. Pero cuando ingreso el 48, 50 ó 51 en el ComboBox me tira información perteneciente a otro código y no sé porqué, ya que a partir de B5 todos los códigos que ingreso me dan la información correcta, alguien me podría ayudar, adjunto el código que tengo:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo Salir1:
X = Sheets("Producto").Cells.Find(What:=ComboBox1, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).Row
Label5 = Sheets("Producto").Range("c" & X).Value
Label6 = Sheets("Producto").Range("d" & X).Value
Exit Sub
Salir1:
UserForm2.ComboBox1 = Empty
UserForm2.ComboBox1.SetFocus
If ComboBox1 = "" Then
ComboBox1.SetFocus
End If
End Sub
While Cells(fila, Col) <> Empty
fila = fila + 1
Wend
Cells(fila, 2) = Val(ComboBox1)
Cells(fila, 3) = Val(TextBox2)
Cells(fila, 4) = Val(TextBox3)
Cells(fila, 5) = Val(TextBox4)
Cells(fila, 19) = Val(TextBox5)
ComboBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
Label5 = Empty
Label6 = Empty
Application.ScreenUpdating = True
ComboBox1.SetFocus
End Sub
Private Sub UserForm_Activate()
ult1 = "Producto!B1:B" & Sheets("Producto").Range("B65536").End(xlUp).Row
ComboBox1.RowSource = ult1
End Sub
Private Sub UserForm_Initialize()
ult1 = "Producto!B1:B" & Sheets("Producto").Range("B65536").End(xlUp).Row
ComboBox1.RowSource = ult1
End Sub
1 respuesta
Respuesta de Elsa Matilde
1