VBA中可选择的ComboBox返回工作表名称以移动/隐藏

时间:2014-06-26 18:31:48

标签: excel vba excel-vba combobox

首先,你们都很了解你的知识和帮助。我对组合框有疑问,因为我对它们一无所知。

这是我的方案:我有一本书,大约有93个标签,以代理商名称命名。我需要手动过滤不再在这里的座席,并将座席的内容复制到另一张表中。

我遇到的问题是如何创建一个包含所有这些可以选择多个条目的工作表名称的组合框?我如何循环它以浏览选项卡列表以获取我需要移动和/或隐藏的列表。

感谢一群真正困惑的VBA Noob ......

杰夫

1 个答案:

答案 0 :(得分:0)

为什么要创建一个组合框?

我们可能需要制作另一张表来保存名称,但可以使用2个宏来完成。 一个用于创建工作表列表

Sub ListSheets()
Dim sh
Dim pos As Long
pos = 1 ' 1st line
For Each sh In ActiveWorkbook.Sheets
    ActiveSheet.range("A" & pos) = sh.Name
    pos = pos + 1
Next
End Sub

然后您可以删除那些您不想复制的内容,以留下需要复制的工作表列表。

然后,您可以将这些剩余的工作表复制到新工作簿中

Sub CopySheets()
Dim sh
Dim pos As Long
pos = ActiveSheet.Range("A1").End(xlDown).Row

While pos > 0
    'remember to change the "Book1" into the name of whatever
    '  spreadsheet you have open to copy the data into.
    Sheets(Range("A" & pos)).Copy After: Workbooks("Book1").Sheets (1)
    pos = pos - 1
Wend

End Sub

这两个宏都可以附加到按钮上,使用InputBox,您甚至可以提示要复制到的电子表格的名称。