Cambia el código de tu botón Registrar por este modificado
Private Sub CommandButton1_Click()
' Declaramos variables
Dim DescripSelec As Variant
Dim Codigos As Variant
Dim strcodig2 As String
Dim intCantidad As Double
Dim doublePUnitario As Double
Dim intTotal As Double
Dim Codigo As Variant
' Capturamos el valor del ComboBox1
Codigo = Me.ComboBox1.Value
' En caso de error
On Error Resume Next
' Inicializamos búsqueda de código
With Application.WorksheetFunction
' Buscar directamente sin conversión
Codigos = .VLookup(Codigo, PRODUCTOS.Range("A:C"), 1, 0)
' Si no se encuentra, mostrar "No encontrado"
If IsError(Codigos) Then
Codigos = "No encontrado"
End If
' Buscar descripción (mismo proceso que el código)
DescripSelec = .VLookup(Codigo, PRODUCTOS.Range("A:C"), 2, 0)
If IsError(DescripSelec) Then
DescripSelec = "No encontrado"
End If
' Captura cantidad
intCantidad = Me.TextBox1.Value
' Llenamos el ListBox
Me.ListBox1.AddItem Codigo
ListBox1.List(ListBox1.ListCount - 1, 1) = DescripSelec
ListBox1.List(ListBox1.ListCount - 1, 2) = .Text(intCantidad, "#,##0")
' Precio unitario
doublePUnitario = Me.TextBox2.Value
ListBox1.List(ListBox1.ListCount - 1, 3) = .Text(doublePUnitario, "$#,##0.00;-$#,##0.00")
' Total
intTotal = doublePUnitario * intCantidad
ListBox1.List(ListBox1.ListCount - 1, 4) = .Text(intTotal, "$#,##0.00;-$#,##0.00")
' Actualización de etiquetas
Me.lblProductos = .Text(CInt(Me.lblProductos) + CInt(intCantidad), "#,##0")
Me.lblTotal = .Text(CDbl(Me.lblTotal) + CDbl(intTotal), "$#,##0.00;-$#,##0.00")
' Restablecer valores
Me.ComboBox1.Value = ""
Me.ComboBox1.SetFocus
Me.txtConsec = Me.TextBox4.Value
Me.TextBox5.Value = Format(CDate(TextBox5.Text), "dd/mm/yyyy")
Me.txtFecha = Me.TextBox5.Value
End With
End Sub