Combobox que me indique que el código no existe

Me gustaría consultar lo siguiente, tengo un combobox en Excel que contiende códigos y al momento de seleccionarlo me trae datos al formulario, me gustaría que al momento de ingresar un código que no existe en la base de datos, me aparezca una advertencia de que el código no existe.

Adjunto el código del combo.

Private Sub ComboBox2_Change()
Application.ScreenUpdating = False
Dim var2 As String
If ComboBox2 = "" Then
Else
CommandButton1.Locked = False
Sheets("Codigos").Activate
If ComboBox2 = Empty Then
MsgBox "Ingrese el Código corresondiente"
ComboBox2.ListIndex = 0
ComboBox2.SetFocus
End If
On Error Resume Next
var2 = ComboBox2.Column(0)
Cells.Find(What:=ComboBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
If var2 = ActiveCell.Value Then
txt_Nombre = ActiveCell.Offset(0, 1)
txt_monto = ActiveCell.Offset(0, 2)
txt_fecha.Text = Sheets(3).Range("G1")
txt_Nombre.Locked = False
txt_Nombre.Locked = False
txt_fecha.Locked = False
End If
End If
Sheets("Ventas").Activate
Application.ScreenUpdating = True
End Sub

3 respuestas

Respuesta
2

Prueba con lo siguiente:

Private Sub ComboBox2_Change()
    If ComboBox2.Value = "" Or ComboBox2.Value = Empty Or ComboBox2.ListIndex = -1 Then
        Exit Sub
    End If
    '
    CommandButton1.Locked = False
    Set h = Sheets("Codigos")
    Set b = h.Columns("A").Find(ComboBox2.Value, lookat:=xlWhole)
    If b Is Nothing Then
        'si el objeto b está vacío, entonces no encontró el código
        MsgBox "El código no existe"
    Else
        'si encontró el código
        txt_Nombre = b.Offset(0, 1)
        txt_monto = b.Offset(0, 2)
        txt_fecha.Text = Sheets(3).Range("G1")
        txt_Nombre.Locked = False
        txt_fecha.Locked = False
    End If
End Sub

Cambié el método .Find que tenías, de esta forma controlas en caso de que no exista el código.

Avísame cualquier duda.

Respuesta
2

La instrucción es esta

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex < 0 Then MsgBox ("no existe este codigo"), _
vbInformation, "AVISO EXCEL": GoTo SAL
'....
'....
'....
SAL:
End Sub
Respuesta
1

Fíjate con esto también

If combobox1= empty then Msgbox "No existen códigos"

Fijate si alguno de estos ejemplos con combobox te aporta algo más

https://youtu.be/64OSPZDk9Ss 

https://youtu.be/2NH4sB_KnWM

https://youtu.be/UZLgcJ7gQTE

 https://youtu.be/FVfPjR5X0rA 

[url=https://www.youtube.com/c/programarexcel?sub_confirmation=1 ]
https://www.youtube.com/c/programarexcel?sub_confirmation=1 [/url]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas