🎨
ResetCellStyles
書式設定選択範囲のスタイルを「標準」にリセットします
選択したセル範囲のすべての書式(フォント・背景色・罫線・数値書式・配置など)を初期状態にリセットするマクロです。複雑な書式が設定されたセルをクリーンな状態にしてから再設定したい場合や、コピー&ペーストで混入した不要な書式を取り除く際に使います。Excelの「書式のクリア」機能と同等ですが、VBAで自動化することでより細かい制御が可能です。書式整理の第一歩として広く活用できます。内部ではRange.ClearFormatsメソッドを呼び出すだけのシンプルな構造で、値や数式はClearContentsとは異なり保持されたまま書式のみが初期化されます。RemoveBorderStyleやRemoveConditionalFormattingのように部分的な書式削除とは違い、フォント・背景色・罫線・数値書式などすべてをまとめてリセットできる点が特徴です。書式を作り直す際の起点として最も汎用的に使えるマクロです。

📖 使い方
- VBAエディタを開く(Alt + F11)
- モジュールを挿入(挿入 > モジュール)
- 下記VBAコードをコピー&ペースト
- ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 対象範囲を選択してから ResetCellStyles を実行します
🎯 活用シーン
- ✓複数のソースからコピーした情報が混在するシートの書式をすべてリセットして、統一した書式に再設定したいとき
- ✓長期間使用したシートに積み重なった雑多な書式設定をクリアして、スッキリした状態から再スタートしたいとき
- ✓テンプレートを作成する際に、まず書式をリセットしてからベースとなるデザインを設定していきたいとき
- ✓複数の担当者が異なる書式でメンテナンスしてきたシートを、統一書式に作り直す前の下地作りをしたいとき
- ✓古いテンプレートファイルを再利用する際に、蓄積した不要な書式を除去してから作業を始めたいとき
💡 実装のヒント
- ▸書式のみがクリアされ、セルの値や数式はそのまま保持されます。データを消してしまう心配はありません。
- ▸リセット後はすべてのセルがデフォルトの書式(游ゴシック11pt、標準、罫線なし)に戻ります。
- ▸条件付き書式は「書式のクリア」では削除されない場合があります。条件付き書式も削除したい場合はRemoveConditionalFormattingマクロと組み合わせて使用してください。
- ▸条件付き書式は対象外となるため、完全にリセットしたい場合はRemoveConditionalFormattingを併用してください。
- ▸テンプレート作成時にまずこのマクロで書式を統一し、その後SetCellStyleで標準デザインを再構築する流れがお勧めです。
💻 VBAコード
' ResetCellStyles
' -----------------
' Macro Name: ResetCellStyles
' Description: 選択範囲のスタイルを「標準」にリセットします
' Parameters: なし
' Returns: なし
' Usage: 対象範囲を選択してから ResetCellStyles を実行します
' -----------------
Sub ResetCellStyles()
On Error GoTo ErrorHandler
Dim rng As Range
If TypeName(Selection) <> "Range" Then
MsgBox "セル範囲を選択してから実行してください", vbCritical, "エラー"
Exit Sub
End If
Set rng = Selection
rng.Style = "Normal"
MsgBox "スタイルを標準にリセットしました", vbInformation, "完了"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました:" & vbCrLf & Err.Description, vbCritical, "エラー"
End Sub