【Excel(VBA)】セル内の文字列を上付き・下付き一括変換(CO2やm2など)

2019-03-08 23:12:13 651

はじめに

エクセルで書いた文章の中に上付き文字にしたいものや、下付き文字にしたいものがある場合、とてもややこしい。

まず、セルを選択して編集状態にする。
次に、上付き文字、下付き文字にしたい文字列を選択する。
さらに、右クリックを押してセルの設定?を開く。
チェックボックスをオンにする。

これだけの作業をするのに5秒くらいかかる。

もし、CO2なんかが10個もあれば、それを直すだけで1分はかかる計算になる。

というわけで、選択している範囲内で、CO2の2を下付きにしてくれるマクロを例に組んでみた。

CO2下付き変換マクロ

vba


Sub CO2下付き()
For Each c In Selection
i = 1
Do Until InStr(i, c, &quotCO2") = 0 'セル内のCO2が見つからなくなるまで繰り返す
i = InStr(i, c, &quotCO2") + 2 '見つかったCO2の2の位置
c.Characters(Start:=i, Length:=1).Font.Subscript = True '下付きに変換
Loop
Next c
End Sub

これを応用すれば、m2やm3も一気に変換できる。
上付き文字にしたい場合は、subscriptの部分を、superscriptにすればOK

関連記事