Excel VBAを使っていると、「値だけ貼り付けたい」というシーンに出くわすことがよくあります。今回は、値だけ貼り付ける簡単なVBAコードをご紹介します。このコードは、セルの値をコピーし、貼り付け先に値のみを貼り付けた後、コピーモードを解除するというものです。
以下にテンプレートコードを示します。
'コピーして値だけ貼り付け、コピーモード解除
Cells().Copy
Cells().PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
コードの解説
Cells().Copy
: この行で、シート全体のセルをコピーしています。ここでCells()
を使っているため、シート全体が選択されますが、特定の範囲をコピーしたい場合は、例えばRange("A1:D10").Copy
のように変更することができます。Cells().PasteSpecial Paste:=xlPasteValues
: ここで、コピーしたセルの内容を「値だけ」にして貼り付けています。xlPasteValues
は定数で、「値のみを貼り付ける」ことを指します。Application.CutCopyMode = False
: 最後にコピーモードを解除します。これにより、クリップボードの内容がクリアされ、ユーザーに「コピー中」の表示が残らないようにします。
使用例
例えば、特定の範囲の値を他の範囲に値だけ貼り付けたい場合、次のように書き換えます。
Range("A1:B10").Copy
Range("C1:D10").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
このコードでは、A1:B10
の範囲をコピーし、C1:D10
に値だけを貼り付けています。
まとめ
値だけを貼り付ける操作は、データの加工や整理をする上で非常に便利です。今回紹介したVBAコードを使えば、手作業で行っていた作業を自動化し、効率化することができます。是非、試してみてください!
コメント