VBA – 复制sheetvalues,粘贴到variables名称的工作表

我有一个用户表单,允许用户input一系列数据的date范围,这些date范围稍后将用于命名其余macros的输出。 我试图复制第一个工作表WWOutput上的所有值,其中分析/计算所有数据,并将其粘贴到新创build的variablesDateRange名称,每次显然都会更改。

我目前正在尝试这个:

 Worksheets.Add(Before:=Worksheets("Calc")).Name = DateRange.Value Worksheets("WWOutput").Range("A1:Q1000000").Copy Worksheets(DateRange).Range("A1").PasteSpecial Paste:=xlPasteValues 

新工作表被创build,并且工作表被复制,但它不复制到我想要的。 如果我尝试.Cells而不是。 .Range它给了我“types不匹配”

我究竟做错了什么?

玩笑

 Set ws = Worksheets.Add(Before:=Worksheets("Calc")) ws.Name = DateRange.Value Worksheets("WWOutput").Range("A1:Q1000000").Copy ws.Range("A1").PasteSpecial Paste:=xlPasteValues 

这应该适合您的需求。 我将对象引用设置为您添加的工作表(称为ws ),然后将其名称设置为DateRange.Value 。 在这一点上,足够简单的指定粘贴时所需的工作表。 通过这种方式,您可以在处理数据时使用任何方式的引用。 让我知道你是否需要进一步的解释?

你错过了.Value

 Worksheets(DateRange.Value).Range("A1").PasteSpecial Paste:=xlPasteValues