【发布时间】:2018-10-13 23:30:13
【问题描述】:
由于格式错误,我已编辑我的帖子。 感谢您的反馈。
现在我使用大量的“For Each”来查找范围。 我首先垂直搜索匹配的组合框值(列(然后是水平(行) 然后去特定的范围。
有什么方法可以使用循环找到带有我的组合框值的单元格,然后选择范围。?
谢谢。 注意:- 如果你觉得我的节目是漫画,请不要笑。因为我从谷歌上学到了这一切。
'Cancel Button`
Private Sub CommandButton2_Click()
Unload UserForm1
End Sub`
'Goto range selection3
Sub CommandButton1_Click()
On Error Resume Next
If ComboBox3.Value = "Select" Then
MsgBox "Please Select a Seller"
Else
Call Show_Page
Unload UserForm1`
End If
End Sub
'select page
Sub Show_Page()
For Each cell In Range("A2:A10")
If cell.Value = Me.ComboBox3.Value Then
Worksheets("p1").Activate
Call Show_Range
Exit For
Exit Sub
End If
Next
For Each cell In Range("B2:B10")
If cell.Value = Me.ComboBox3.Value Then
Worksheets("p2").Activate
Call Show_Range
Exit For
Exit Sub
End If
Next
For Each cell In Range("C2:C10")
If cell.Value = Me.ComboBox3.Value Then
Worksheets("p3").Activate
Call Show_Range
Exit For
Exit Sub
End If
Next
For Each cell In Range("D2:D10")
If cell.Value = Me.ComboBox3.Value Then
Worksheets("p4").Activate
Call Show_Range
Exit For
Exit Sub
End If
Next
For Each cell In Range("E2:E10")
If cell.Value = Me.ComboBox3.Value Then
Worksheets("p5").Activate
Call Show_Range
Exit For
Exit Sub
End If
Next
End Sub
Sub Show_Range()
For Each cell In Worksheets("home").Range("A2:E2")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A1:j106").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A3:E3")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A111:j216").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A4:E4")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A221:j326").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A5:E5")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A331:j436").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A6:E6")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A441:j546").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A7:E7")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A551:j656").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A8:E8")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A661:j766").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A9:E9")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A771:j876").Select
Exit For
Exit Sub
End If
Next
For Each cell In Worksheets("home").Range("A10:E10")
If cell.Value = Me.ComboBox3.Value Then
ActiveSheet.Range("A881:j986").Select
Exit For
Exit Sub
End If
Next
End Sub
【问题讨论】:
-
以上可能不会运行。它缺少一个 SUB 和一个 NEXT。看来您已经编辑/安排了原始代码,可能添加了空白行,并且可能遗漏了一些行。能贴一下原代码吗?
-
先生,谢谢您的回复。我已经编辑了我的帖子。请看一看。现在我正在使用大量的“For Each”来查找范围。我首先垂直(列)搜索匹配的组合框值,然后水平(行)然后转到特定范围。有没有办法使用循环找到带有我的组合框值的单元格,然后选择范围。?
标签: for-loop combobox nested range cell