枚举Excel VBA中的所有当前工作表名称

复习

我目前有一些代码,需要用户输入,并使用它来确定哪个工作表是要复制的“目标”工作表,但这要花很长时间才能为工作簿中的30多个工作表反复运行代码。
我不确定从哪里开始编码可以一次自动从一个工作表中获取数据,将其复制到新工作表,运行更多代码,然后重复该过程直到完成的事情。下面是当前代码。

'Prompt User: Which sheet on Dataworkbook should be copied
    Dim mySheet As String
    mySheet = Application.InputBox("Enter a sheet name")
'User provides input

'Data copied from source workbook page from "Dataworkbook" specified by user
    x.Sheets(mySheet).Range("A1:z28").Copy
    y.Sheets("Test").Range("A1").PasteSpecial

'Copy of data appears on new sheet created when running macro

本质上,我希望该过程自动化,并对Dataworkbook中当前的每个工作表执行相同的命令集,但是我希望它在结束时停止(无重复)。我是VBA的新手(昨天才刚开始使用它),并且非常感谢您提供的所有帮助。

戴维·泽门斯

您只需要一个简单的迭代即可通过For Each ... Next结构化循环实现。

遍历工作簿中Worksheets集合x

        'Prompt User: Which sheet on Dataworkbook should be copied
        '    Dim mySheet As String
        '    mySheet = Application.InputBox("Enter a sheet name")
        'User provides input

        Dim ws as Worksheet 
        For each ws in x.Worksheets

            'Data copied from source workbook page from "Dataworkbook" specified by user
            ws.Range("A1:z28").Copy
            y.Sheets("Test").Range("A1").PasteSpecial

            '### Put the rest of your code here to manipulate the data on ws
            '
            MsgBox ws.Range("A1").value 'etc.
            '
            '
            '###

        Next

关于每个文档的文档...下一步:

http://msdn.microsoft.com/zh-CN/library/office/gg264596(v=office.15).aspx

VBA语句文档的完整列表,这也非常有用:

http://msdn.microsoft.com/zh-CN/library/office/jj692812(v=office.15).aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel VBA - 类中的枚举

使用SSIS包动态创建具有当前时间戳的Excel工作表

Excel公式-根据当前工作表中的列从另一个Excel工作表中获取值

枚举Excel WorkSHEET中的WorkbookQuery对象

VBA Excel循环所有工作表

在当前工作表中以及当前工作表之后的所有工作表中运行宏

Python-迭代和更改Excel工作簿中的所有“工作表名称”

打开Word模板并将.doc另存为当前工作簿文件夹-Excel中的VBA

在SpreadSheetLight中获取Excel工作表中所有列的名称

按顺序获取 Excel 文件中的所有工作表名称

如何使用 OleDbDataAdapter 在 C# 中获取所有 excel 工作表名称

在新工作簿中列出当前工作簿中的所有工作表

VBA:阅读多个文本文件,并在当前工作簿的末尾为每个文本制作一个Excel工作表

Excel VBA-将所有工作表从特定工作簿复制到活动工作簿中

合并整个工作表中的所有重复单元格-Excel VBA

将模块中的Excel VBA代码应用于所有工作表

如何在Excel VBA中为所有工作表选择相同的范围?

excel vba 在所有工作表中对 RGB 进行排序

如何使用 VBA 删除 Excel 工作表中除表格之外的所有内容?

如何通过 VBA 在所有 Excel 工作表中运行特定命令?

与当前工作簿中的工作表名称相关的公式

Pandas Groupby - 通过 Dataframe 枚举并复制到新的、独特的 Excel 工作表中

如何在 Excel VBA 中自动更改工作表名称

所有工作表与索引的VBA EXCEL vlookups

Excel VBA总和动态范围所有工作表

Excel VBA-将范围从一个工作表粘贴复制到工作簿中的某些工作表之后的所有工作表

Excel VBA遍历所有工作簿和所有工作表

枚举C中的所有枚举名称/值

从Excel-VBA中的范围获取工作簿名称和工作表名称