Si no existe dato en hoja, dar aviso de "no existe" en combobox.

Recurro a ustedes nuevamente.

Tengo este trabajo, donde busca datos del cliente en una hoja "proveedores", lo que necesito es que si este dato en mi caso lo busco vía CUIL al no lo encuentrarlo en la hoja, me arroje un aviso "no existe" y una opción de registrarlo ya que tengo el Userform "IngproveedoresPA".

Paso el codigo de donde llamo los datos al colocarlo en combobox.

Private Sub CODIGO_Click()
dato = CODIGO.Value 'ver *
Set BUSCO = Sheets("proveedores").Range("b2:c15000").Find(dato, LookIn:=xlValues, LookAt:=xlWhole) 'ver **
'si encontró el dato lo mostrará en los demás textbox
If Not BUSCO Is Nothing Then
CLIENTE1 = BUSCO.Offset(0, 1).Value
CUIT2 = BUSCO.Offset(0, 2).Value
Else 'si no lo encontró limpia el textbox de posibles valores anteriores
CLIENTE1 = "": CUIT2 = ""
End If
Set BUSCO = Nothing 'libero la variable
End Sub

1 respuesta

Respuesta
1
Private Sub CODIGO_Click()
dato = CODIGO.Value 'ver *
Set BUSCO = Sheets("proveedores").Range("b2:c15000").Find(dato, LookIn:=xlValues, LookAt:=xlWhole) 'ver **
'si encontró el dato lo mostrará en los demás textbox
    If Not BUSCO Is Nothing Then
        CLIENTE1 = BUSCO.Offset(0, 1).Value
        CUIT2 = BUSCO.Offset(0, 2).Value
    Else 'si no lo encontró limpia el textbox de posibles valores anteriores
        CLIENTE1 = "": CUIT2 = ""
        mensaje = MsgBox("No existe", vbOKOnly)
    End If
        Set BUSCO = Nothing 'libero la variable
End Sub

Intente con de esta manera.

Funciona, solo que debe ir en  Private Sub CODIGO_Change(),

muchas gracias!!!

Private Sub CODIGO_Change()
dato = CODIGO.Value  'ver *
Set busco = Sheets("proveedores").Range("b2:c15000").Find(dato, LookIn:=xlValues, LookAt:=xlWhole)  'ver **
'si encontró el dato lo mostrará en los demás textbox
If Not busco Is Nothing Then
CLIENTE1 = busco.Offset(0, 1).Value
CUIT2 = busco.Offset(0, 2).Value
Else   'si no lo encontró limpia el textbox de posibles valores anteriores
Dim msgvalue As Integer
msgvalue = MsgBox("no existe, damos de alta?", vbInformation + vbYesNo, "Mensaje de Alerta")
Select Case msgvalue
Case 6 'Yes
 IngproveedoresPA.Show
Case 7 'No
End Select
End If
Set busco = Nothing     'libero la variable
End Sub

asi quedo el codigo, lo comparto.

slds.

gracias

Bien, me da gusto que le haya servido, valore la respuesta para cerrar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas