教えて!ExcelVBA!

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

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

f:id:m_kbou:20210815114943p:plain

セルに入力されている文字列に対して特定の文字のみ下付き文字に変換したいケースがあります。ExcelVBAで下付き文字に変換するにはFont.Subscriptプロパティを使用します。この下付き文字の変換方法について紹介します。

 

 

構文

記述方法は以下の通りとなります。

Range(”[セル範囲]”).Characters([文字目],[桁数])
                   .Font.Subscript = True or False

[説明]:

特定文字に対して下付き文字に変換するには
 「Range(”[セル範囲]”).Characters([開始文字],[桁数])
                      .Font.Subscript = True」
と記述します。
また、設定した下付き文字を元に戻すには
 「Range(”[セル範囲]”).Characters([開始文字],[桁数])
                      .Font.Subscript = False」
と記述します。
[セル範囲]には文字列が入力されているセルを記述し、「”」(ダブルクォーテーション)で囲みます。[開始文字]には文字列中の何文字目から下付き文字に変更するかを指定し、[桁数]には[開始文字]で指定した開始文字から何桁を変換するかを指定します。下付き文字に変換するとの意味合いとなるFont.Subscriptの後に、「True」を指定するとセル中の文字列を指定した開始文字から指定した桁数だけ下付き文字に変換し、「False」を指定すると下付き文字を解除します。内容を纏めると、「[セル範囲]で指定したセルの文字列を、文字列中の[開始文字]から[桁数]分だけ下付き文字に変換して下さい。又は、下付き文字を解除して下さい。」との意味になります。(※文字列の下付き文字の変換は、セルの書式設定画面の文字飾りに含まれる下付きの設定と同じ意味です。)

f:id:m_kbou:20210815115010p:plain

[記述例]:

Range("A1").Characters(4, 1).Font.Subscript = True
Range("A1").Characters(4, 1).Font.Subscript = False

 

使い方

使い方について具体的に説明します。

文字列中の文字を下付き文字に変換する方法

文字列中の文字を下付き文字に変換する方法について説明します。

[プログラミング例]:

Sub 下付き設定()
  Range("A1").Characters(4, 1).Font.Subscript = True
  MsgBox "下付きを設定しました。"
End Sub

内容は、「A1セル中の文字列の4桁目から1桁を下付き文字に変換し、最後にMsgBoxで”下付きを設定しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210815115030p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①A1セルに「水はH2O」の文字列が入力されています。<設定>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210815115105p:plain

②結果は以下の様になります。A1セルの「水はH2O」の4桁目から1桁が下付き文字に変換され、MsgBoxで「下付きを設定しました。」が表示されます。

f:id:m_kbou:20210815115120p:plain

文字列中の文字を下付き文字に変換する方法についての説明は以上です。

 

文字列中の下付き文字を解除する方法

文字列中の下付き文字を解除する方法について説明します。

[プログラミング例]:

Sub 下付き解除()
  Range("A1").Characters(4, 1).Font.Subscript = False
  MsgBox "下付きを解除しました。"
End Sub

内容は、「A1セル中の文字列の4桁目から1桁の下付き文字を解除し、最後にMsgBoxで”下付きを解除しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210815115048p:plain

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。

[実行例]:

①A1セルに「水はH2O」の文字列が入力されており、4桁目から1桁をが下付き文字に設定されています。<解除>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)

f:id:m_kbou:20210815115136p:plain

②結果は以下の様になります。A1セルの「水はH2O」の4桁目から1桁の下付き文字が解除され、MsgBoxで「下付きを解除しました。」が表示されます。

f:id:m_kbou:20210815115150p:plain

文字列中の下付き文字を解除する方法についての説明は以上です。

 

[サンプル]:

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

  

おわりに

今回は文字列中の文字を下付き文字に変換する方法について説明しました。類似内容に取り消し線の設定上付き文字の設定もあります。こちらも参考にして下さい。