Subscriptプロパティ
セルに入力する文字をセル内で下の方で表示させることを「下付き」と言います。
設定すると、このA1セルのように表示されます。
Excelで設定する場合はセルの書式設定のフォントタブで、下付き、のチェックを付けます。
VBAで下付きの状態取得や設定を行うにはSubscriptプロパティを利用します。
構文
1 |
Fontオブジェクト.Subscriptプロパティ |
親オブジェクトにはFontオブジェクトを指定します。
SubscriptプロパティはBoolean型のTrueとFalseの値を持ちます。
取得と設定のどちらの場合も、Trueで下付き、Falseで解除、を指します。
サンプルコード
以下は指定セル範囲の下付き状態の取得と設定を行うサンプルです。
1 2 3 4 5 6 7 8 9 |
Sub SubscriptTest() Dim b As Boolean '// 下付き状態を取得 b = ActiveCell.Font.Subscript '// 下付きに設定 ActiveCell.Font.Subscript = True End Sub |
指定セル範囲の下付きの設定と解除を切り替える関数
以下のコードは指定セル範囲の下付きの設定を切り替えるマクロです。
切替自体は2行目のように否定演算子のNotを使えば1行で書くことが出来ます。3行目で行っていることは5行目以降のコメント部分の書き換えです。
下付きが設定されていれば解除し、解除されていれば下付きにする、という処理になります。
1 2 3 4 5 6 7 8 9 10 |
Sub ChangeSubscript(r As Range) '// 下付きの設定を切り替える r.Font.Subscript = Not r.Font.Subscript ' If (r.Font.Subscript = True) Then ' r.Font.Subscript = False ' Else ' r.Font.Subscript = True ' End If End Sub |
使い方
上の関数は引数にセル範囲の指定をして呼び出します。
1 2 3 4 |
Sub ChangeSubscriptTest() '// A1セルの下付き状態を切り替える Call ChangeSubscript(Range("A1")) End Sub |