2016-07-27 89 views
0

我有一个用户表单,它允许人们输入一系列数据的日期范围,然后这些数据将被用于命名其余宏的输出。我试图复制第一张纸上的所有数值WWOutput,其中分析/计算所有数据并将其粘贴到名为变量DateRange的新创建的纸张上,每次显然都会更改。VBA - 复制纸张值,粘贴到变量名称表

我目前正在此:

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

将创建新表,在工作表被复制,但它不是复制到一个我想要的。如果我尝试.Cells而不是.Range它会给我“类型不匹配”

我在做什么错了?

乔希

回答

1
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。在这一点上,足够简单的指定粘贴时需要的工作表。通过这种方式,您可以在使用该参考时以多种方式使用该参考。让我知道你是否需要进一步解释?

+0

像魅力一样工作,谢谢! –

1

你缺少.Value

Worksheets(DateRange.Value).Range("A1").PasteSpecial Paste:=xlPasteValues 
相关问题