「エクセル2010 式が入っていれば色をつける関数を作る vba」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
数式の入力されているセルを目立つように色をつけたい、ということなのでしょう。
「関数を作る」という語句が入っていますから、VBAでユーザー定義関数を作ることを想定しているのかもしれませんが、関数だけで色をつけることはできません。
数式の入力されているセルに色をつけるサンプルマクロ
数式の入力されているセルに色をつけるには、いくつかの方法が考えられますが、まずは一番シンプルな、数式の入力されているセルに色をつけるマクロをご紹介しておきます。
On Error GoTo ErrHandl
Cells.SpecialCells(xlCellTypeFormulas).Interior.Color _
= RGB(255, 255, 0)
ErrHandl:
Select Case Err.Number
Case 1004
MsgBox "数式の入力されているセルは存在しません。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
End Sub
サンプルマクロで行っている処理
実際に色をつけているのは、
Cells.SpecialCells(xlCellTypeFormulas).Interior.Color _
= RGB(255, 255, 0)
の部分です。
ジャンプ機能を使って数式の入力されているセルを選択する方法をご紹介しています。その操作をマクロ記録してできたコードを参考にして作ったのが上記のコードです。
プログラミングはできるけれど、Excelの機能をご存じない方の場合、セルを順番にチェックしていくようなループ処理を思いついてしまうかもしれませんが、ループを回さなくても数式の入力されているセルは簡単に調べることができるのです。
RangeオブジェクトのSpecialCellsメソッドの引数にxlCellTypeFormulasを指定すると、数式の入力されているセルが取得できますから、そのInterior.ColorをRGB(255, 255, 0)とRGB関数を使って指定しています。
ただし、
Cells.SpecialCells(xlCellTypeFormulas).Interior.Color _
= RGB(255, 255, 0)
だけでは、数式の入力されているセルが存在していないときにエラーとなってしまいます。
そこで
On Error GoTo ErrHandl
でエラー処理を入れています。
最終更新日時:2024-03-04 18:11
Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » 数式の入力されているセルに色をつけるExcelマクロ