Underlineプロパティ

Excelでセルの文字列に下線を設定するにはホームタブ→フォント の「U(下線付き)」をクリックします。もう一度クリックすると下線が無くなります。「U」の右にある▼を押すと下線の種類を選ぶことが出来ます。

これをVBAで行うにはUnderlineプロパティを利用します。

構文

親オブジェクトとしてFontオブジェクトを指定します。

取得する値はXlUnderlineStyle列挙型のLong型の値で、下線なし、下線、二重下線、下線(会計)、二重下線(会計)の5種類になります。会計用の下線は文字列だけでなくセルの全体に下線が設定されます。

設定する場合は取得のときと同様で、以下のXlUnderlineStyle列挙型を設定します。

なお、XlUnderlineStyle列挙型ではありませんが、TrueとFalseでも設定することが可能です。

定数 内容
xlUnderlineStyleNone -4142 下線なし
xlUnderlineStyleSingle 2 下線
xlUnderlineStyleDouble -4119 二重下線
xlUnderlineStyleSingleAccounting 4 下線(会計)
xlUnderlineStyleDoubleAccounting 5 二重下線(会計)
False False 下線なし
True True 下線

 

サンプルコード

以下は指定セル範囲の文字列の下線状態の取得と、下線の設定を行うサンプルコードです。

2行目の変数定義ではLong型を指定していますが、XlUnderlineStyle列挙型でも構いません。ただしXlUnderlineStyle列挙型の変数とした場合、Underlineプロパティの値がNullの場合は代入できずにエラーとなるため、事前にNullかどうかのチェックが必要になります。

 

指定セル範囲の下線の設定と解除を切り替える関数

以下の関数は指定セル範囲の下線の種類を切り替えるマクロです。実行するたびに5種類の下線が切り替わります。

2行目ではXlUnderlineStyle列挙型の変数としていますが、Long型としても構いません。

4行目から8行目ではUnderlineプロパティの値がNullの場合は下線なしを初期値とし、そうでない通常の場合は引数セル範囲のUnderlineプロパティ値を初期値としています。

それ以降の処理では下線なし→下線→二重下線→下線(会計)→二重下線(会計)→下線なし、と切り替えています。

 

使い方

使い方は上の関数の引数にセル範囲を指定するだけですね。