【发布时间】:2016-05-07 03:50:32
【问题描述】:
这里有新的 VBA 用户...
我不知道如何从存储在内存中的变量创建工作表。我要做的是从打开的工作簿中创建现有“模板”工作表的多个副本,在内存中操作它们(例如更改范围值、添加公式等),然后在打开的工作簿中将它们创建为实际工作表.
我可以在内存中创建副本并将它们存储在一个数组中,但是我不能在我的工作簿中创建实际的工作表。请帮忙:)
Dim wb As Workbook
Dim ws As Worksheet
Dim wsTemplate As Worksheet
Dim wsCopies(1 To 5) As Worksheet
Dim x As Long
Set wb = ThisWorkbook
Set ws = wb.Sheets("Worksheet Test")
Set wsCopy = ws
For x = 1 To 5
Set wsCopies(x) = wsTemplate
'used this line to make sure this actually copied into memory
Debug.Print wsCopies(x).Range("A1").FormulaR1C1
Next x
提前致谢!
【问题讨论】:
-
Set wsCopies(x) = wsTemplate你没有初始化wstemplate? -
对不起 findwindow,我确实初始化了,但我为这个问题制作了通用代码并且很快就完成了。谢谢大家的回复。我很难相信没有办法做到这一点。它是类模块可以处理的吗?如果您无法操作并将其吐回,那么将工作表变量保存在内存中又有什么意义?