概要
Excelでは、セルの値ではなく「表示形式(書式)」だけをコピーしたい場面が多々あります。特に、フォントや色、罫線、数値の書式などを他のセルに適用したいとき、VBAを活用することで作業を効率化できます。
本記事では、VBAを使ってセルの表示形式(書式)だけをコピーする2つの方法をご紹介いたします。
サンプルコード
Sub CopyCellFormatOnly()
' 方法①:PasteSpecial を使って書式のみコピー
Range("F2").Copy
Range("F5").PasteSpecial Paste:=xlPasteFormats
' 方法②:NumberFormat プロパティで表示形式のみコピー
Range("F6").NumberFormat = Range("F2").NumberFormat
End Sub
コード解説
方法①:PasteSpecial で書式をコピー
Range("F2").Copy
Range("F5").PasteSpecial Paste:=xlPasteFormats
.Copy:コピー元のセルをコピーします。.PasteSpecial Paste:=xlPasteFormats:書式(フォント、罫線、塗りつぶし、表示形式など)だけを貼り付けます。- 値や数式はコピーされず、見た目だけが反映されます。
方法②:NumberFormat で表示形式だけコピー
Range("F6").NumberFormat = Range("F2").NumberFormat
.NumberFormatは、**セルの表示形式(例:#,##0,yyyy/mm/ddなど)**だけをコピー・設定します。- フォントや背景色などは変更されず、純粋に書式(数値・日付などの見た目)だけが反映されます。
使い分けのポイント
| 方法 | 対象 | 特徴 |
|---|---|---|
| PasteSpecial | 書式全体(フォント・罫線・色など) | 見た目をそのままコピーしたいときに有効 |
| NumberFormat | 数値・日付などの表示形式のみ | 見た目のルール(書式)だけをコピーしたいときに便利 |
応用例
- 数値の表示を統一するマクロ(例:売上や金額などを3桁区切りに統一)
- 入力テンプレートのフォーマットを別のシートに適用
- 条件に応じて動的に書式をコピー・設定する
注意点
PasteSpecialはCopyの直後に使用しないと動作しません。- 貼り付け後は
Application.CutCopyMode = Falseでコピー状態を解除するのがおすすめです。 NumberFormatLocalを使えば、ローカル環境に依存した書式(日本語など)も扱えます。
まとめ
本記事では、VBAを使ってセルの表示形式(書式)だけをコピーする方法を2つご紹介いたしました。
- 見た目をまるごとコピーしたい場合 →
PasteSpecial xlPasteFormats - 数値や日付の書式だけをコピーしたい場合 →
.NumberFormat
用途に応じて適切な方法を使い分けることで、表の整形やテンプレート作成をより効率的に行うことができます。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
