Vba:書式設定せずに値だけを貼り付ける方法
VBA で次の構文を使用すると、セルの特定の範囲をコピーし、値を書式設定せずに新しい場所にのみ貼り付けることができます。
Sub PasteNoFormatting()
Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
この特定のマクロは、範囲A1:D9のセルをコピーし、書式設定を行わずにセル値をセルA12から始まる範囲に貼り付けます。
注: Application.CutCopyMode = False行は、マクロの実行後にカット アンド コピー モードを無効にすることを指定します。
次の例は、この構文を実際に使用する方法を示しています。
例:VBAを使用して書式設定せずに値のみを貼り付ける
さまざまなバスケットボール選手に関する情報を含む次のデータセットが Excel にあるとします。
A1:D9の範囲内のすべての値を書式設定せずに新しい場所にコピーして貼り付けたいとします。
これを行うには、次のマクロを作成できます。
Sub PasteNoFormatting()
Range(" A1:D9 ").Copy
Range(" A12 ").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
このマクロを実行すると、次の出力が表示されます。
元のセルの値が書式設定なしで新しい場所に貼り付けられていることに注意してください。
注: VBA PasteSpecialメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: 最後に使用された行を見つける方法
VBA: 範囲内の行数をカウントする方法
VBA: 使用されている列の数を数える方法