使用Excel VBA在select值上激活combobox操作
我正在显示包含工作簿的所有工作表名称的combobox。 如果我select一个值,我希望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
的工作表名称? 这将重新启动更改事件。 我会build议填充,说在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
我的假设
你有一个用户窗体上的这个combobox。 如果不是,则对代码进行相关更改。 但主旨依旧。
跟进评论
在工作表上添加一个button。 将其命名为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