У меня есть пользовательская форма, где я ищу некоторые личные данные на листе под названием "Hoja4". На одной из страниц я могу добавить еще несколько данных, которые будут отправлены на другой лист, где лист называется «Hoja1». Поэтому, когда я go перехожу на другую вкладку, где я ищу по идентификатору или по фамилии, чтобы отфильтровать эти данные, иногда это приводит меня к данным этого человека, но в основном это не так. Это один и тот же код для поиска и автозаполнения некоторых текстовых полей, которые просто отличаются по именам, но на разных страницах внутри пользовательской формы. Странно, что я ищу одни и те же данные с двумя разными кодами, но он корректно работает только на одном и едва на другом.
Что это приносит, когда я нажимаю поиск? Он приносит имена столбцов, где хранятся эти данные. Я оставляю здесь код.
Private Sub btnBuscar2_Click()
'declarar las variables
Dim FindRow
Dim i As Integer
Dim cRow As String
'error block
On Error GoTo errHandler:
'Filtrar solo por Legajo
If Me.BLeg2 <> "" Then
'Encontrar la fila con la data
cRow = Me.BLeg2.Value
Set FindRow = Hoja4.Range("A:A").Find(What:=cRow, LookIn:=xlValues)
'agregar los valores a las casillas correspondientes
Leg2.Value = FindRow.Offset(0, 0)
Fech2.Value = FindRow.Offset(0, 4)
Ape2.Value = FindRow.Offset(0, 1)
Nomb2.Value = FindRow.Offset(0, 2)
Pues2.Value = FindRow.Offset(0, 3)
'Filtrar solo por Apellido
ElseIf Me.BApe2 <> "" Then
'Encontrar la fila con la data
cRow = Me.BApe2.Value
Set FindRow = Hoja4.Range("B:B").Find(What:=cRow, LookIn:=xlValues)
'agregar los valores a las casillas correspondientes
Leg2.Value = FindRow.Offset(0, -1)
Fech2.Value = FindRow.Offset(0, 3)
Ape2.Value = FindRow.Offset(0, 0)
Nomb2.Value = FindRow.Offset(0, 1)
Pues2.Value = FindRow.Offset(0, 2)
Else
MsgBox "Por favor, ingresar un Legajo o un Apellido"
End If
'error block
On Error GoTo 0
Exit Sub
errHandler:
MsgBox "Error! Verificar los datos ingresados, porque no son correctos!" & vbCrLf & Err.Description
End Sub