「excel vba マイナスを赤で表示」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Excel VBA(Visual Basic for Applications)から、マイナスの値・負の値を、赤色で表示する設定にするにはどのようなコードを書けばいいのかを探していた方による検索でしょうか。
マイナスの値を赤色で表示するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブセルの値が、マイナスの場合に赤色で表示される、ユーザー定義書式が設定されます。ActiveCell.NumberFormatLocal = "0; [赤]-0"
End Sub
RangeオブジェクトのNumberFormatLocalプロパティに、Excelでユーザー定義書式を設定するのと同じ文字列を指定すればOKです。
上記のマクロを実行してユーザー定義書式を設定したセルの[表示形式]タブを確認すると、下図のような状態になっているはずです。
[セルの書式設定]ダイアログから、手作業でユーザー定義書式を設定したのと同じです。
設定するセルはRangeオブジェクトを指定するオブジェクト式で
上記のマクロは、アクティブセルにユーザー定義書式を設定するため、
ActiveCell.NumberFormatLocal = "0; [赤]-0"
としていますが、例えば、
Range("A1:A5").NumberFormatLocal = "0; [赤]-0"
というオブジェクト式にすれば、A1:A5セルの書式設定を一気にできます。
「.NumberFormatLocal」の前、Rangeオブジェクトを取得するオブジェクト式で、ユーザー定義書式を設定するセルを指定します。
マイナスの値を赤色の桁区切りカンマつきで表示するサンプルマクロ
以下のようなSubプロシージャにすれば、マイナスの値を赤色、桁区切りカンマつきで表示できます。ActiveCell.NumberFormatLocal = "#,##0; [赤]-#,##0"
End Sub
上記のマクロで書式設定したセルの[表示形式]タブを確認すると、下図のような状態になっているはずです。
やっぱり、Range.NumberFormatLocalプロパティに、[セルの書式設定]ダイアログ-[表示形式]タブでユーザー定義書式を設定するのと同じ文字列を指定するだけです。
- Newer:過去の日付を入力したらエラーにする
- Older:入力規則の種類を取得するExcelマクロ
Home » Excel VBA Rangeオブジェクト » 表示形式 » マイナスの値を赤色で表示するExcelマクロ