Excel

条件付き書式を一瞬で再設定出来るマクロ

2021年6月15日

Excelで課題や質問の管理表で作業している時や、スケジュールを作成したりするときに、条件付き書式って便利ですよね。

ただ、条件付き書式ってどんだけ完璧に範囲指定をしていたとしても、切り取りしたりコピーすると、条件書式の範囲が断片化してしまったり、書式の範囲がずれていったりして不快になってきますよね。最終的にはファイルが重くなってしまって、作業効率が悪くなるなんてことも。

そして、なんとかこの条件書式を直そうとすると、絡まったあやとりをほぐすように、かなり面倒くさいです。

今回は、そういった条件付き書式の断片化であったり範囲ズレなどが起きても、元通りの条件付き書式にささっと戻せるマクロを自作したので、ご紹介します。

こんな方におすすめ

  • 条件付き書式のズレを1操作で元通りにしたい方。

条件付き書式を再設定出来るマクロ

早速、お手製のマクロをご紹介します。こちらのコードをVBAのModuleに貼り付けます。

Private Sub Conditional_Format(ByVal 列 As String _
, ByVal 数式 As String _
, Optional ByVal 網掛色 As XlRgbColor _
, Optional ByVal 文字色 As XlRgbColor = rgbBlack _
, Optional ByVal 下線 As Boolean = False _
, Optional ByVal 太字 As Boolean = False)
    Dim fc As FormatCondition
    
    Set fc = Range(列).FormatConditions.Add( _
                Type:=xlExpression, _
                Formula1:=数式)
    
    If 網掛色 <> 0 Then
        fc.Interior.Color = 網掛色
    End If
    
    If 文字色 <> rgbBlack Then
        fc.Font.Color = 文字色
    End If
    
    If 太字 Then fc.Font.Bold = True
    If 下線 Then fc.Font.Underline = True
    Set fc = Nothing

End Sub

条件付き書式を再設定出来るマクロの使い方

上記で紹介したマクロは次の「Call 文」のような形で利用します。

Sub 条件付き書式の再設定()
    Dim fc As FormatCondition
    
   '****①A~K列の条件付き書式を削除****
    Range("A:K").FormatConditions.Delete

   '****②A~K列の再設定****
    Call Conditional_Format("$A8:$K200", "=$J8=""実施済""", rgbLightGray)
    Call Conditional_Format("$A8:$K200", "=$E8=""High""", , rgbDarkSlateGrey, , True)

End Sub

①で条件付き書式を削除したい範囲を指定し、②で上記の関数を呼び出して条件付き書式をコードで設定します。

関数を呼び出す際の引数は次のとおりです。

  • 第一引数・・・条件付き書式を設定したい範囲
  • 第二引数・・・条件式
    条件付き書式を設定する際に、次の数式欄に設定する内容をコードで設定します。
    ※文字列を条件にする場合("「ダブルクォーテーション」を使う場合)は、上記例のようにダブルクォーテーションを重ねるようにしましょう。
  • 第三引数(省略可)・・・網掛色(rgbXXXで設定します。省略した場合は透明になります)
  • 第四引数(省略可)・・・文字色(rgbXXXで設定します。空にした場合は黒になります)
  • 第五引数(省略可)・・・下線(Trueを設定すると、条件式に当てはまる場合に下線が引かれます)
  • 第六引数(省略可)・・・太字(Trueを設定すると、条件式に当てはまる場合に太字になります)

ココに注意

このマクロですが、エクセルの骨格である行や列の位置が変えた場合は、コードの範囲を再設定をしないときちんと動作しない点が注意です。

おわりに

今回は条件付き書式をササッと再設定するマクロをご紹介しました。

条件付き書式が気になっている方は是非活用してみてください!

関連

その他にもExcelで流用可能なマクロをいくつかご紹介しているので、気になった方は観ていってくださいね!

Excelのオブジェクト(吹き出し等)を制御するマクロ・他

すごくマニアックなのですが、六星占術で一気に大多数の人を占うマクロです。

ご閲覧ありがとうございました。
ではでは(^^)/

この記事を書いた人の著書・構築サービス

自律評価経済
     自律評価経済:暴走する資本主義を超えて、信頼と評価が編みなおす経済の構造

・資本主義の臨界点
・評価の再発明
・DAOの限界と突破
・自律評価主義への転換
・ライフスタイルの進化
・価値の再構築
・生成AIとDAOの未来

~Kindle Unlimitedなら無料で読めます!~
Amazonで確認
真決DAO
真決DAO:テスト稼働開始

自律評価経済の思想を実装するDAOが、ついにテスト稼働を開始。
参加者は、評価・信頼・共鳴を軸にしたUXを通じて、
意味駆動型の経済体験を探索できます。
儀式的UX・詩的構造・技術的障壁の突破を体験する場として、
ゆーはちの設計思想が息づくプラットフォームです。

真決DAOへ
新陳代謝すべき健康の常識
新陳代謝すべき健康の常識

・サラダ油は健康に良くない?
・牛乳は骨を脆くする?
・サプリの摂り過ぎは害?
⇒ 健康常識の新陳代謝を促す一冊!

~Kindle Unlimitedなら無料で読めます!~
Amazonで確認
  • この記事を書いた人
  • 最新記事

-Excel