VBA - 复制图纸值,粘贴到具有变量名

时间:2016-07-27 23:45:08

标签: excel vba excel-vba

我有一个用户表单,允许人们输入一系列数据的日期范围,稍后将用于命名宏的其余部分的输出。我正在尝试复制第一张WWOutput上的所有值,其中所有数据都被分析/计算并粘贴到新创建的工作表中,其中包含变量DateRange的名称,这显然会改变每个时间。

我目前正在尝试这个:

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

创建新工作表并复制工作表但不复制到我想要的工作表。如果我尝试.Cells代替.Range,则会给我“类型不匹配”

我做错了什么?

约什

2 个答案:

答案 0 :(得分:1)

您缺少.Value

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

答案 1 :(得分: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。此时,在粘贴时指定必要的工作表非常简单。这样,您可以在使用时以任意数量的方式使用引用。如果您需要进一步解释,请告诉我?