【问题标题】:Activate combo-box action on select value using Excel VBA使用 Excel VBA 激活选择值的组合框操作
【发布时间】:2015-09-09 15:18:27
【问题描述】:

我正在显示一个组合框,其中包含工作簿的所有工作表名称。 如果我选择一个值,我希望 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

【问题讨论】:

    标签: vba excel combobox


    【解决方案1】:

    您要在Change Event 中添加工作表名称?这将重新触发 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
    

    【讨论】:

    • 不,它在工作表本身上。不涉及用户表单!
    • 然后使用UserForm_Initialize 事件而不是Workbook_Open 事件
    • 它运行良好,但每次我再次运行它时,工作表名称都会重复。例如,我有 1 到 4 张工作表,但由于我运行了三次,因此下拉列表中至少有 3 个工作表。有什么办法可以阻止这种情况?
    • 添加Comboxo1.Clear(但不要在Change Event中添加)
    • 现在组合框是空白的。
    猜你喜欢
    • 1970-01-01
    • 2013-02-03
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 2021-07-11
    相关资源
    最近更新 更多