【发布时间】:2021-03-04 23:18:06
【问题描述】:
我正在处理一个 Excel 表单,它有一个文本框 txtSearch,用户可以在其中输入一些值。按下时 搜索按钮 btn_search2 如果在 Sheet1 上找到值,则应按找到值的行填充某些字段。否则系统应返回一条消息:未找到数据。
如果我从列 A 输入值但不搜索其他列,我的代码可以正常工作。
对此有什么想法吗?
我的代码如下:
Dim iSearch As Long, i As Long
iSearch = Worksheets("Sheet1").Range("A1").CurrentRegion.Rows.Count
For i = 1 To iSearch
If Trim(Sheet1.Cells(i, 1)) <> Trim(txtSearch.Text) And i = iSearch Then
MsgBox ("Invalid data")
txtSearch.Text = ""
txtSearch.SetFocus
End If
If Trim(Sheet1.Cells(i, 1)) = Trim(txtSearch.Text) Then
txtRef.Text = Sheet1.Cells(i, 1)
txtFirstname.Text = Sheet1.Cells(i, 2)
txtSurname.Text = Sheet1.Cells(i, 3)
txtAddress.Text = Sheet1.Cells(i, 4)
txtPostCode.Text = Sheet1.Cells(i, 5)
txtTelephone.Text = Sheet1.Cells(i, 6)
txtDateReg.Text = Sheet1.Cells(i, 7)
txtProve.Text = Sheet1.Cells(i, 8)
txtMemberType.Text = Sheet1.Cells(i, 9)
txtMemberFees.Text = Sheet1.Cells(i, 10)
Exit For
End If
Next i
【问题讨论】:
标签: excel vba forms loops button