如何解决VBA用户表单代码仅在可见工作表时有效
我确定我刚刚犯了一个男生错误,但是我看不到它:( 我有一个搜索工作表(工作表2)并在列表框中显示结果的用户表单,但是该代码仅在excel可见并且选择了要搜索的工作表时才有效。任何建议将不胜感激:)
Private Sub Branch_Search_Button_Click()
'branch search
Dim rownum As Long
Dim searchrow As Long
Sheet5.Range("A2:C9999").ClearContents
rownum = 2
searchrow = 2
Do Until Sheet2.Cells(rownum,1).Value = ""
If InStr(1,Sheet2.Cells(rownum,2).Value,TextBox1.Value,vbTextCompare) > 0 Then
Sheet5.Cells(searchrow,1).Value = Cells(rownum,1).Value
Sheet5.Cells(searchrow,2).Value = Cells(rownum,2).Value
Sheet5.Cells(searchrow,3).Value = Cells(rownum,3).Value
searchrow = searchrow + 1
End If
rownum = rownum + 1
Loop
If searchrow = 2 Then
MsgBox "Area not found"
Exit Sub
End If
ListBox2.RowSource = "Area_Search!a1:c" & Range("c" & Rows.Count).End(xlDown).Row
End Sub
就是这样!谢谢您的帮助超级对称真的很感激!!! :D
解决方法
潜在的解决方案
您应该完全所有您的范围。以下内容可能会解决您的错误。请注意以'*
Private Sub Branch_Search_Button_Click()
'branch search
Dim rownum As Long
Dim searchrow As Long
Sheet5.Range("A2:C9999").ClearContents
rownum = 2
searchrow = 2
Do Until Sheet2.Cells(rownum,1).Value = ""
If InStr(1,Sheet2.Cells(rownum,2).Value,TextBox1.Value,vbTextCompare) > 0 Then
'* Change Sheet2 to the appropriate sheet code
Sheet5.Cells(searchrow,1).Value = Sheet2.Cells(rownum,1).Value
Sheet5.Cells(searchrow,2).Value = Sheet2.Cells(rownum,2).Value
Sheet5.Cells(searchrow,3).Value = Sheet2.Cells(rownum,3).Value
searchrow = searchrow + 1
End If
rownum = rownum + 1
Loop
If searchrow = 2 Then
MsgBox "Area not found"
Exit Sub
End If
'* change Sheet5 to the appropriate sheet code
ListBox2.RowSource = "Area_Search!a1:c" & Sheet5.Range("c" & Rows.Count).End(xlDown).Row
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。