excel - Excel 用户表单搜索过滤器不带并显示数据
问题描述
我有一个用户表单,我在一个名为“Hoja4”的表格中查找一些个人数据。在其中一个页面中,我可以添加更多数据,将其发送到另一个名为“Hoja1”的工作表。因此,当我转到另一个选项卡时,我按 ID 或姓氏搜索以过滤该数据,有时它会带给我那个人的数据,但大多数情况下它不会。对于搜索和自动完成一些只是名称不同但在用户表单内的不同页面中的文本框,它的代码相同。奇怪的是,我正在使用两个不同的代码寻找相同的数据,但它只能在一个上正常工作,而在另一个上几乎不工作。
当我按下搜索时它会带来什么?它带来了存储该数据的列的名称。我把代码留在这里。
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
解决方案
推荐阅读
- jquery - Jquery if/elseif 来回后没有隐藏
- mongodb - Mongodb和elasticsearch中的电子商务产品列表、过滤和搜索
- javascript - 带有 TypeScript/React/Material-UI 的全局主题
- c - 出现错误 -1073741819 (0xC0000005) - 在特定数字后使用矩阵
- doxygen - doxygen 的命令没有长选项吗?
- spring-boot - 如何在 Spring Boot 应用程序中跟踪传出请求?
- oracle - 在 Oracle 云免费层中将 VM 与自治数据库连接
- javascript - 为什么在通过 HTTP 服务时需要指定 MIME 类型?
- python - 来自不同方法的python字典导致“缺少位置参数”错误
- android - 预期为 BEGIN_ARRAY,但在 GitHub API 中的第 1 行第 2 列路径 $ 处为 BEGIN_OBJECT