対象:Excel2003, Excel2007, Excel2010
小数点以下を上付き文字にするマクロをご紹介しました。
数値を下付き文字にするマクロにも需要があると思いますので、ご紹介しておきます。
[スポンサードリンク]
イメージとしては、化学式のようなもので、例えば「H2O」の「2」だけを下付き文字にするマクロです。
Sub 数値を下付き文字にする()
Dim rng As Range
Dim str As String
Dim chr As String
Dim i As Long If TypeName(Selection) <> "Range" Then Exit Sub
For Each rng In Selection
str = rng.Value
For i = 1 To Len(str)
chr = Mid(str, i, 1)
If IsNumeric(chr) Then
rng.Characters(i, 1).Font.Subscript = True
End If
Next i
Next rng
End Sub
Dim rng As Range
Dim str As String
Dim chr As String
Dim i As Long If TypeName(Selection) <> "Range" Then Exit Sub
For Each rng In Selection
str = rng.Value
For i = 1 To Len(str)
chr = Mid(str, i, 1)
If IsNumeric(chr) Then
rng.Characters(i, 1).Font.Subscript = True
End If
Next i
Next rng
End Sub
選択されているセル範囲に対して処理したいので、全体が
For Each rng In Selection
ではじめるループ文に入っています。
セルの値を変数に格納し
str = rng.Value
その値の文字列の長さだけループを回して
For i = 1 To Len(str)
1文字だけ取得して
chr = Mid(str, i, 1)
それが数値ならば
If IsNumeric(chr) Then
下付き文字に
rng.Characters(i, 1).Font.Subscript = True
しています。
小数点以下を上付き文字にするマクロの場合、セルに入力されているデータが数値のままでは、フォント書式を設定できないために、先頭に「'」(シングルクォート)を入力していましたが、今回のケースでは入力されているデータが文字列のため、そのような処理は入っていません。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » 数値を下付き文字にするマクロ