Validar
Hola que tal! Sigo con mi macro para cursos ya casi esta, solo que ahorita pues se le agrego un nuevo campo a la pantalla de planificación, para buscar los nombre y agregarlos a listbox solo buscaba el área en donde se encontraban pero note que era algo tardado así estar buscando los nombres, así que le agregue un textbox de búsqueda por numero de nomina, la búsqueda ya me la hace le problema es que si no encuentra el numero de nomina del usuario me marca error, como podría hacerle para que al momento de poner un numero de nomina de usuario que no esta en la base de datos me mande un mensaje diciendo algo así como usuario no existe y no me marque el error:
Código:
Este es textbox que agregue para la búsqueda por numeo de nomina:
Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim filaHasta As Long
Dim fila As Long
filaHasta = Sheets("Sheet1").Range("$B$65500").End(xlUp).Row
On Error Resume Next
ComboBox9.Text = Application.WorksheetFunction.VLookup(TextBox9.Text, Sheets("Sheet1").Range(Cells(fila, 11), Cells(filaHasta, 12)), 3, False)
End Sub
En este botón al momento de poner el numero de nomina se le da click y busca el usuario relacionado con ese numero de nomina y lo pone en mi combobox9
Private Sub CommandButton4_Click()
Dim filaHasta As Long, colHasta As Long, filaAux As Long, rAux As Range
Sheets("Sheet1").Select
filaHasta = Range("L65500").End(xlUp).Row
colHasta = Range("L2").End(xlToRight).Column
If TextBox9.Text <> "" Then
filaAux = Application.WorksheetFunction.Match(Val(TextBox9.Text), Range(Cells(1, 12), Cells(filaHasta, 12)), 0)
ComboBox9.Text = Cells(filaAux, 2)
Else 'asume que el dato está en el nombre...
Cells(2, 2).Select
Selection.AutoFilter Field:=2, Criteria1:="=*" & ComboBox9.Text & "*"
Range(Selection.Offset(1, 0), Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Select
End If
End Sub
Aquí aparece le nombre del suario relacionado con el numero de nomina, y al dar doble click en el me lo manda a un listbox, y al dar guardar, todos los datos que están en el listbox los manda a mi hoja tres
Private Sub ComboBox9_Change() 'cmdAgregar_Click
Worksheets("Sheet1").Select
Dim Nom As Long
Application.CommandBars("Control Toolbox").Visible = False
'Asignamos el No. De Fila correspondeiente a la Variable Nom
Nom = ComboBox9.ListIndex + 3
'Nom toma el No. De Fila correspondiente al valor elegido del combobox, y tomamos el valorf de la columna 2
TextBox9 = Cells(Nom, 12).Value
End Sub
Private Sub ComboBox9_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
cmdAgregar_Click
End Sub
Y tengo una duda para modifiacr unos datos pero pues mejor eso después
gracias y espero me puedas ayudar.
Código:
Este es textbox que agregue para la búsqueda por numeo de nomina:
Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim filaHasta As Long
Dim fila As Long
filaHasta = Sheets("Sheet1").Range("$B$65500").End(xlUp).Row
On Error Resume Next
ComboBox9.Text = Application.WorksheetFunction.VLookup(TextBox9.Text, Sheets("Sheet1").Range(Cells(fila, 11), Cells(filaHasta, 12)), 3, False)
End Sub
En este botón al momento de poner el numero de nomina se le da click y busca el usuario relacionado con ese numero de nomina y lo pone en mi combobox9
Private Sub CommandButton4_Click()
Dim filaHasta As Long, colHasta As Long, filaAux As Long, rAux As Range
Sheets("Sheet1").Select
filaHasta = Range("L65500").End(xlUp).Row
colHasta = Range("L2").End(xlToRight).Column
If TextBox9.Text <> "" Then
filaAux = Application.WorksheetFunction.Match(Val(TextBox9.Text), Range(Cells(1, 12), Cells(filaHasta, 12)), 0)
ComboBox9.Text = Cells(filaAux, 2)
Else 'asume que el dato está en el nombre...
Cells(2, 2).Select
Selection.AutoFilter Field:=2, Criteria1:="=*" & ComboBox9.Text & "*"
Range(Selection.Offset(1, 0), Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Select
End If
End Sub
Aquí aparece le nombre del suario relacionado con el numero de nomina, y al dar doble click en el me lo manda a un listbox, y al dar guardar, todos los datos que están en el listbox los manda a mi hoja tres
Private Sub ComboBox9_Change() 'cmdAgregar_Click
Worksheets("Sheet1").Select
Dim Nom As Long
Application.CommandBars("Control Toolbox").Visible = False
'Asignamos el No. De Fila correspondeiente a la Variable Nom
Nom = ComboBox9.ListIndex + 3
'Nom toma el No. De Fila correspondiente al valor elegido del combobox, y tomamos el valorf de la columna 2
TextBox9 = Cells(Nom, 12).Value
End Sub
Private Sub ComboBox9_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
cmdAgregar_Click
End Sub
Y tengo una duda para modifiacr unos datos pero pues mejor eso después
gracias y espero me puedas ayudar.
2 Respuestas
Respuesta
1
Respuesta de Juan Carlos González Chavarría
1