教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セルの文字列に上付き(Font.Superscript)を設定する方法を教えて!

構文

構文は以下の通りです。

Range("セル範囲").Characters(開始文字, 桁数).Font.Superscript = True / False

解説

Range("セル範囲")は、上付き文字を適用したいセル範囲を指定します。例えば、"A1"や"A1:B5"等を指定します。Characters(開始文字, 桁数)は、上付き文字にしたい文字の範囲を指定します。開始文字は文字列内での開始位置(1から始まるインデックス)であり、桁数は上付き文字にしたい文字数です。Font.Superscriptは、上付き文字を指定するためのプロパティです。Trueを指定すると上付き文字になり、Falseを指定すると通常の文字として表示されます。

使い方

以下に具体的な例を示します。

例1: セルA1の2文字目から3文字を上付き文字にする

Range("A1").Characters(2, 3).Font.Superscript = True

この例では、セルA1の文字列の2文字目から3文字を上付き文字にします。

例2: セルB2から3文字を上付き文字にする

Range("B2").Characters(1, 3).Font.Superscript = True

この例では、セルB2の文字列の先頭から3文字を上付き文字にします。

例3: セルC3の5文字目を通常の文字として表示する

Range("C3").Characters(5, 1).Font.Superscript = False

この例では、セルC3の文字列の5文字目を通常の文字として表示します。

プログラミング例

以下は、VBAコードのサンプルです。ここでは、セルA1に「H2O」という文字列を入力し、「2」を上付き文字にして表示する例を示します。

Sub ApplySuperscript()
    ' セルA1に「H2O」という文字列を入力
    Range("A1").Value = "H2O"
    ' セルA1の文字列の2を上付き文字にする
    Range("A1").Characters(2, 1).Font.Superscript = True
End Sub

このコードを実行すると、セルA1に「H2O」が表示され、その中の「2」が上付き文字に変換されます。

まとめ

「Font.Superscript」を利用すると、セル内の文字を簡単に上付き文字にすることができます。科学的な表現や数式を扱う場合に便利な機能です。是非活用してください。