0

重複の可能性:
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
4

1 に答える 1

2

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受け入れないことに注意してください。xlPasteValuesxlPasteSpecialOperationNone

于 2012-11-10T21:23:06.577 に答える