使用Dropbox / Combo Box和Macro在Excel电子表格中切换选项卡

时间:2016-07-14 15:48:13

标签: excel vba tabs macros switch-statement

我一直在努力工作几个小时,我想问你的帮助,什么VBA代码以及我应该如何实现这个,因为我有大约30个标签,我想创建一个下拉列表的顺序简化标签之间的切换。

见下图:

enter image description here

2 个答案:

答案 0 :(得分:0)

我建议使用验证列表框而不是组合框,然后命名单元格" wsSelect"例如,因为这更简单。打开Visual Basic和包含用户正在选择要打开的工作表的列表的工作表,并使用代码框顶部的两个下拉框创建工作表更改子工作表。然后,以下代码将运行sub以在列表框值更改时更改工作表:

Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Me.Range("wsSelect")) Is Nothing Then
    Call Pb_Switch_Sheet
End If

End Sub

您需要创建一个带有public sub的新模块来切换工作表(excel并不像在模块中为工作表引用不同的工作表)。那么像这样的简单子应该可以做到这一点:

Public Sub Pb_Switch_Sheet()

Dim wsName As String
ws = ThisWorkbook.ActiveSheet.Range("wsSelect").Value

ThisWorkbook.Sheets(ws).Select

End Sub

希望有所帮助!

A

答案 1 :(得分:0)

尝试将图纸名称添加到组合框中:

def testFunc(queue)
#Some print statements
#I want to get these print statements in the queue for main process to read

在combobox1更改或点击事件

下运行以下内容
With Sheets(1)
    For shtIndex = 2 to Application.Sheets.Count
        .Combobox1.additem Sheets(shtIndex).name
    next shtIndex
end with