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