我有一个用户表单,允许人们输入一系列数据的日期范围,稍后将用于命名宏的其余部分的输出。我正在尝试复制第一张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
,则会给我“类型不匹配”
我做错了什么?
约什
答案 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
。此时,在粘贴时指定必要的工作表非常简单。这样,您可以在使用时以任意数量的方式使用引用。如果您需要进一步解释,请告诉我?