子育てエンジニアブログ

子育てに励むシステムエンジニア(SE)のブログ

【Excel】【VBA】VBAで数式が入力されているセルを色付けして数式を表示する方法

Excelで数式が入力されているセルがたくさんあって、固定値を埋め込んでいるところと混ざってしまったので、
どうにか区別できないか調べた結果、VBAで数式が入力されているセルを色付けする方法と数式を表示す方法を見つけたのでメモ。

早速ですが、ソースは下記。

Sub 数式が入力されているセルを色付けする()
  On Error GoTo ERROR
  Cells.SpecialCells(xlCellTypeFormulas).Interior.Color = RGB(181, 255, 20)
  Exit Sub
ERROR:
  Select Case ERR.Number
    Case 1004
      MsgBox "存在しません。"
    Case Else
      MsgBox "エラー"
  End Select
End Sub

下記のようなシートがあった場合に、実行すると、
f:id:STSA:20201111225439p:plain
このように数式が入力されているセルだけ色がつく。
f:id:STSA:20201111225452p:plain
f:id:STSA:20201111225506p:plain

さらに、数式タブ>数式の表示 をすると、式の中身を見れて便利かも。
f:id:STSA:20201111230156p:plain

これをVBAでやるとこんな感じ。

ActiveWindow.DisplayFormulas = True

なので、合わせてるとこんな感じ。

Sub 数式が入力されているセルを色付けして式を表示()
  On Error GoTo ERROR
  Cells.SpecialCells(xlCellTypeFormulas).Interior.Color = RGB(181, 255, 20)
  ActiveWindow.DisplayFormulas = True
  Exit Sub
ERROR:
  Select Case ERR.Number
    Case 1004
      MsgBox "存在しません。"
    Case Else
      MsgBox "エラー"
  End Select
End Sub


下記を参考にさせていただきました。
www.relief.jp