Home » エクセルマクロ・Excel VBAの使い方 » Charactersオブジェクト » 数値を下付き文字にするマクロ

対象: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

選択されているセル範囲に対して処理したいので、全体が
  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オブジェクト » 数値を下付き文字にするマクロ

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

.