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