Hola. Estoy incluyendo Vba ( Visual Basic para aplicaciones de Office) en una planilla de Excel, para buscar nombres de una lista.
He incluido dos botones , uno para "Buscar" y otro para la " Siguiente" busqueda.
Eso funciona bien , pero me queda un tema sin resolver :
Si el usuario ingresa algún nombre que no está contenido en la planilla me arroja : error 91 en tiempo de ejecución, variable de objeto o bloque width no está establecida. ¿Alguien sabe como evitarlo?
Desde ya gracias!
Abajo el´código que uso:
Dim priC As Integer
Dim cadena As String
Dim PriL As Integer
Private Sub CommandButton1_Click() ' botón "BUSCAR"
'declaramos una variable llamda cadena de tipo STRING
Dim cadena As String
'cadena es lo que el usuario tipea dentro de un INPUTBOX
cadena = InputBox("Ingrese el Apellido o nombre , o bien solo parte del mismo." & vbCrLf & "Buscaremos coincidencias con su ingreso dentro de lista de asistencia.", " Búsqueda por nombre del alma")
'si no escriben más de dos caracteres desechar la busqueda
If Len(cadena) < 2 Then GoTo fin
'en caso de error continue
On Error Resume Next
'busqueda
Cells.Find(What:=cadena, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Cells.FindNext(After:=ActiveCell).Activate
priC = ActiveCell.Column
PriL = ActiveCell.Row
fin: Exit Sub
End Sub
--------------------------------------------------------------
Private Sub CommandButton2_Click() ' botón "SIGUIENTE"
Cells.FindNext(After:=ActiveCell).Activate
If ActiveCell.Column = priC And ActiveCell.Row = PriL Then jeje = MsgBox("Busqueda Finalizada. Esta celda es la primera coincidencia", vbCritical, "No hay más coincidencias")
End Sub