[英]Activate combo-box action on select value using Excel VBA
我正在显示一个组合框,其中包含工作簿的所有工作表名称。 如果我选择一个值,我希望Excel跳至所选工作表。
我尝试在此代码上执行激活代码行,但似乎不起作用。
Private Sub ComboBox1_Change()
Dim Sh As Worksheet
Dim sVal As String
With ComboBox1
sVal = .Text
.Clear
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name <> "Inputs" Then
.AddItem Sh.Name
End If
Next
.Value = sVal
End With
End Sub
您要在“ Change Event
中添加工作表名称吗? 这将重新触发变更事件。 我建议在UserForm_Initialize
事件中进行填充。
这是您要尝试的吗?
Dim Sh As Worksheet
Private Sub UserForm_Initialize()
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Inputs" Then
ComboBox1.AddItem Sh.Name
End If
Next
ComboBox1.Style = fmStyleDropDownList
End Sub
Private Sub ComboBox1_Change()
With ThisWorkbook.Sheets(ComboBox1.Text)
.Visible = xlSheetVisible
.Activate
End With
End Sub
我的假设
您在用户窗体上有此组合框。 如果不是,则对代码进行相关更改。 但是要旨保持不变。
评论的跟进
在工作表上添加一个按钮。 命名为Refresh
并使用此代码
Dim Sh As Worksheet
Private Sub CommandButton1_Click()
ComboBox1.Clear
For Each Sh In ThisWorkbook.Sheets
If Sh.Name <> "Inputs" Then
ComboBox1.AddItem Sh.Name
End If
Next
ComboBox1.Style = fmStyleDropDownList
End Sub
Private Sub ComboBox1_Change()
With ThisWorkbook.Sheets(ComboBox1.Text)
.Visible = xlSheetVisible
.Activate
End With
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.