使用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