Si no encuentra el valor en combobox se cae el programa

Sres. Tengo un combobox enlazado con los nombres de usuarios y cuando dígito las 2 primeras iniciales de un nombre que no esta dentro del registro el programa se cae alguien me podría ayudar a solucionar este problema

2 Respuestas

Respuesta
1

¿El error te lo da justo donde está marcado? Si el combobox1 será vacío deberías poner una instrucción para que no siga ejecutando el resto de código. No recuerdo si en visual es exit.

Hola gracias por la Rapidez, y si justo donde donde esta marcado con amarillo es donde me esta dando el Error y es solamente cuando busco un nombre que no esta dentro de la Hoja Maestro y la idea seria agregarlo o solo enviar un mensaje que no existe el Nombre que busco

Pero el combobox1 es lo que llamas maestro, ¿es así? El error te lo debe dar porque no existe ningún elemento. Yo lo que digo es que cuando haces la comprobación combobox1=empty, se te debe estar metiendo que está vacío. Pues ahí, hagas el exit o la sentencia para salí.

ojo, además del empty yo comprobaría null o ""

Respuesta
1

Cristian puede subir su archivo para que sea más rápido solucionar el problema.

Private Sub CommandButton2_Click()
Unload Me

End Sub


Private Sub TextBox3_AfterUpdate()
If Not IsNumeric(TextBox3) Then
MsgBox " debe ingresar solo datos numericos", vbCritical, "Aviso"
Cancel = True
TextBox3.SelStart = 0
TextBox3.SelLength = Len(TextBox2)
End If

End Sub

Private Sub UserForm_Initialize()

Application.ScreenUpdating = False
ComboBox1.Clear
Sheets("maestro").Select
Range("A2").Select
While ActiveCell <> Empty
ComboBox1.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
Me.TextBox4.Value = Now

ComboBox2.Clear
Sheets("maestro").Select
Range("e2").Select
While ActiveCell <> Empty
ComboBox2.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend

ComboBox3.Clear
Sheets("maestro").Select
Range("g2").Select
While ActiveCell <> Empty
ComboBox3.AddItem ActiveCell
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Private Sub CommandButton1_Click()
Sheets("movi").Activate

If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then
MsgBox "Está dejando campos requeridos vacios favor complete", vbInformation, "Error de Captura"
TextBox1.SetFocus
Else
Range("A" & Cells.Rows.Count).End(xlUp).Offset(1).Select
ActiveCell = TextBox2.Value
ActiveCell.Offset(0, 1) = TextBox1.Value
ActiveCell.Offset(0, 2) = TextBox3.Value
ActiveCell.Offset(0, 3) = TextBox4.Value
ActiveCell.Offset(0, 5) = Me.ComboBox2.Text
ActiveCell.Offset(0, 6) = Me.ComboBox3.Text

MsgBox "Datos actualizados correctamente", vbInformation, "Almacen"
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
Me.TextBox4.Value = Now
TextBox1.Locked = True
TextBox2.Locked = True
TextBox3.Locked = True
TextBox4.Locked = True
Me.ComboBox1.SetFocus
End If


End Sub

Private Sub ComboBox1_Change()
Dim var2 As String
If ComboBox1 = "" Then
Else
CommandButton1.Locked = False
Sheets("maestro").Activate
If ComboBox1 = Empty Then
MsgBox "Para modificar primero seleccione proveedor", vbInformation, "Almacen"
ComboBox1.ListIndex = 0
ComboBox1.SetFocus
End If
If Me.ComboBox1.Text = Null Then
MsgBox "el dato no existe"
ComboBox1.ListIndex = 0
ComboBox1.SetFocus
End If
var2 = ComboBox1.Column(0)
Cells.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
If var2 = ActiveCell.Value Then

TextBox1.Value = ActiveCell.Value
TextBox2 = ActiveCell.Offset(0, 1)
TextBox1.Locked = True
TextBox2.Locked = True
TextBox3.Locked = False
TextBox4.Locked = False
End If
End If
End Sub

Cristian puse el código en un archivo y no me da el error que comenta, va el archivo con el nombre de Libro1 en el link donde podrá descargarlo.

Si puede subir su archivo a algún enlace donde poder descargarlo y poder hacer la prueba y detectar el error para poder corregir.

https://drive.google.com/open?id=1dCOI2dVgHDKi8xCoD16iiMiw2PDXCZ32 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas