在VBA中设置范围
可能重复:
在VBA中调用范围
我正在尝试此任务的代码。 我注意到,当我不把范围设置为一个名称,代码的作品,但是当我命名的数据块我正在作为“rng”代码给我一个错误。 这个代码我做错了什么? 谢谢!
Sub Macro2() Dim rng As Range Set rng = ActiveCell.CurrentRegion.Copy Cells(1, "d").Select rng.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteValues Application.CutCopyMode = False End Sub
Range.Copy
不会返回复制的范围。 它将范围复制到剪贴板并返回一个Boolean
值。
而且,当您粘贴时,可以在工作表上的目标区域调用PasteSpecial
,而不是在“复制”范围内。
Dim source as Range, target as Range Set source = ActiveCell.CurrentRegion Set target = ActiveSheet.Cells(1, "d") source.Copy target.PasteSpecial Paste:=xlPasteValues, Operation:=xlPasteSpecialOperationNone Application.CutCopyMode = False
另外请注意, Operation
不接受xlPasteValues
,您可能意味着xlPasteSpecialOperationNone
。