我目前有一些代码,需要用户输入,并使用它来确定哪个工作表是要复制的“目标”工作表,但这要花很长时间才能为工作簿中的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] 删除。
我来说两句