表の作成時にセルの書式設定のみを一括でコピーしたい場合はないでしょうか。
特に表の罫線や背景が追加、編集していく中で変わってしまい、清書をする時に多いかと思います。
けど、そんな中で悩むことは、
・ショートカットやVBAで効率的に行いたいがやり方がわからない。
ですよね。
今回はそんなお悩みを解決する
・Excel VBAでセルに書式設定を一括コピーする方法
についてまとめます!
もくじ
Excelのセルに書式設定を一括コピーする基本操作
サンプルとして以下の成績表で説明をします。
D2~J6までのセルは、書式が設定されていない状態となっていますので、
その範囲に対してC列の書式を適用するようにしていきます。
書式設定済みのC列のセルを選択します。
[ホーム]タブを選択します。

[クリップボード]グループの[書式のコピー/貼り付け]をクリックします。

もしくは右クリックからメニュー表示し書式のコピー/貼り付けをクリックでもOKです。

書式設定を反映したいセルを選択します。

書式のみを貼り付ける事ができました
書式のみを貼り付ける事ができましたね。


書式として設定しているすべてが反映されます。
Excelのセルに書式設定を一括コピーするショートカット
Excelのセルに書式設定を一括コピーするショートカットは以下の順序で実施します。
リボンメニューのショートカット
書式をコピー元セルを選択
Alt + H
Alt + F+ P
書式をコピーしたいセルを選択
Excelのセルに書式設定を一括コピーするVBA
ExcelVBAでExcelの条件付き書式を一括で削除する方法について説明します。
サンプルのVBAは以下の通りです。
書式コピー元から指定範囲のセルに対して書式設定を反映
Rangeで書式コピー元となるセル”C2:C6″を選択し、Copyメソッドでコピーします。
Range(“C2:C6”).Copy
次に、指定範囲のセル”D2:J6″に対して書式のみペーストするため、Pasteプロパティに書式のみを示す値「xlPasteFormats」を設定し、PasteSpecialメソッドでペーストします。
Range(“D2:J6”).PasteSpecial Paste:=xlPasteFormats
Sub 書式コピー元から指定範囲のセルに対して書式設定を反映()
'書式コピー元を選択
Range("C2:C6").Copy
'指定範囲のセルに対して書式のみペーストする
Range("D2:J6").PasteSpecial Paste:=xlPasteFormats
'コピー元の選択ぐるぐるを解除
Application.CutCopyMode = False
End Sub


書式コピー元から選択範囲のセルに対して書式設定を反映
Rangeで書式コピー元となるセル”C2:C6″を選択し、Copyメソッドでコピーします。
Range(“C2:C6”).Copy
次に、Selectionプロパティで選択したセルを取得し、Pasteプロパティに書式のみを示す値「xlPasteFormats」を設定し、PasteSpecialメソッドでペーストします。
Range(“D2:J6”).PasteSpecial Paste:=xlPasteFormats
Sub 書式コピー元から任意の範囲のセルに対して書式設定を反映()
'書式コピー元を選択
Range("C2:C6").Copy
'任意の選択範囲に対して書式のみペーストする
Selection.PasteSpecial Paste:=xlPasteFormats
'コピー元の選択ぐるぐるを解除
Application.CutCopyMode = False
End Sub
書式を反映したいセルを選択した後で、VBAを実行します。

はい、部分的に反映ができましたね!


よく使う場合はマクロ実行ボタンを追加してもよいでしょう。
VBAの実装手順
実装手順は以下の通りです。
今回はExcel側にこのVBAを実装します。
①Excelを新規に開き、「開発」タブをクリックし、「VisualBasic」をクリックします。
もしくはショートカットキー「Alt」+「F11」でもOKです。
②標準モジュールを追加します。
左ペインのVBAProjectを右クリックし、「挿入」、「標準モジュール」を選択します。

③右ペインのウインドウに上記のVBAを入力します。
こちらで完了です。
VBAを実行する
では早速VBAの実行をしてみましょう。
①「開発」タブの「VBA」をクリックし実行したいマクロを選択し、「実行」をクリックします。
②処理がされたことが確認できれば完了です。
※完了メッセージやステータス管理など必要に応じて実装してもらえばと思います。
さいごに
いかがでしょうか。
今回は、
・Excel VBAでセルに書式設定を一括コピーする方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す