Home » ExcelVBA Rangeオブジェクト » 表示形式 » マイナスの値を赤色で表示するExcelマクロ

マイナスの値を赤色で表示するExcelマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

「excel vba マイナスを赤で表示」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Excel VBA(Visual Basic for Applications)から、マイナスの値・負の値を、赤色で表示する設定にするにはどのようなコードを書けばいいのかを探していた方による検索でしょうか。

[スポンサードリンク]

マイナスの値を赤色で表示するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブセルの値が、マイナスの場合に赤色で表示される、ユーザー定義書式が設定されます。
Sub マイナスの値を赤色で表示する()
 ActiveCell.NumberFormatLocal = "0; [赤]-0"
End Sub

RangeオブジェクトのNumberFormatLocalプロパティに、Excelでユーザー定義書式を設定するのと同じ文字列を指定すればOKです。

上記のマクロを実行してユーザー定義書式を設定したセルの[表示形式]タブを確認すると、下図のような状態になっているはずです。

マイナスの値を赤色で表示するExcelマクロ

[セルの書式設定]ダイアログから、手作業でユーザー定義書式を設定したのと同じです。

設定するセルはRangeオブジェクトを指定するオブジェクト式で

上記のマクロは、アクティブセルにユーザー定義書式を設定するため、
  ActiveCell.NumberFormatLocal = "0; [赤]-0"
としていますが、例えば、
  Range("A1:A5").NumberFormatLocal = "0; [赤]-0"
というオブジェクト式にすれば、A1:A5セルの書式設定を一気にできます。

「.NumberFormatLocal」の前、Rangeオブジェクトを取得するオブジェクト式で、ユーザー定義書式を設定するセルを指定します。

マイナスの値を赤色の桁区切りカンマつきで表示するサンプルマクロ

以下のようなSubプロシージャにすれば、マイナスの値を赤色、桁区切りカンマつきで表示できます。
Sub マイナスの値を赤色の桁区切りカンマつきで表示する()
 ActiveCell.NumberFormatLocal = "#,##0; [赤]-#,##0"
End Sub

上記のマクロで書式設定したセルの[表示形式]タブを確認すると、下図のような状態になっているはずです。

マイナスの値を赤色で表示するExcelマクロ

やっぱり、Range.NumberFormatLocalプロパティに、[セルの書式設定]ダイアログ-[表示形式]タブでユーザー定義書式を設定するのと同じ文字列を指定するだけです。

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 表示形式 » マイナスの値を赤色で表示するExcelマクロ

「表示形式」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.