セルの書式をコピーする
A1:A5の書式だけをC1:C5へコピーし、値は変えません。
実行前に確認
- ThisWorkbook はこのコードを保存したブックです。まずコピーで試してください。マクロによる変更は通常の「元に戻す」で戻せないことがあります。
- コピー先の既存書式を置き換えます。
- 対象セルの編集や書式変更がシート保護で許可されていない場合は、保護されていない練習用シートで試してください。
1サンプルコード
Option Explicit
Sub Example1014()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
ws.Range("A1:A5").Copy
ws.Range("C1:C5").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub表で見る処理のイメージ実行前・実行後のセルを見比べる
A列の書式だけをC列へコピーします。
A・B・Cは列、1・2・3は行です。例えば「B2」はB列の2行目のセルです。この表は説明用のサンプルです。
実行前
Sheet1
| A | B | C | |
|---|---|---|---|
| 1 | 100 | — | 900 |
| 2 | 200 | — | 800 |
| 3 | 300 | — | 700 |
| 4 | 400 | — | 600 |
| 5 | 500 | — | 500 |
実行後
Sheet1
| A | B | C | |
|---|---|---|---|
| 1 | 100 | — | 900(注目セル) |
| 2 | 200 | — | 800(注目セル) |
| 3 | 300 | — | 700(注目セル) |
| 4 | 400 | — | 600(注目セル) |
| 5 | 500 | — | 500(注目セル) |
色付きは注目する場所です。「—」は未入力、「(空文字)」は数式などが返す空の文字列を表します。
A1:A5は黄色の塗りつぶし、C1:C5は塗りつぶしなしと仮定。実行後はC1:C5にも元の書式が適用されますが、値900~500はそのままです。表は塗りつぶし等を再現していません。数式もコピーしません。 強調は注目するセルの目印です。実際のセルの色・書式を再現するものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
練習用ブックを .xlsm 形式で保存し、Sheet1 という名前のシートを用意します。A1:A5に色や表示形式を付けます。
- 2
Alt+F11でVBEを開き、[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 3
コードの Sheet1、セル番地、値や条件を必要に応じて変更します。Excelに戻り、Alt+F8で Example1014 を選んで実行します。
- 4
C1:C5の書式がコピー元と同じになります。