Excel VBA セルの文字列に文字飾りを設定する

スポンサーリンク

セルの文字列に文字飾りを設定する方法

セルをマウスで右ボタンクリックしたときに表示されるショートカットメニューの「セルの書式設定」を選択したとき表示される「セルの書式設定」ダイアログの「フォント」ダブの
「文字飾り」設定の「取り消し線」「上付き文字」「下付き文字」をVBAで設定する方法について解説します。



実行例



文字飾りの設定で使用するプロパティ一覧

プロパティ内容
Characters
【キャラクターズ】
文字の範囲を表すChatactersオブジェクトを返します。
Count
【カウント】
コレクションに含まれるオブジェクトの数を表す
長整数型 (Long) の値を返します。
Strikethrough
【ストライクスルー】
取り消し線を設定します。
Superscript
【スーパースクリプト】
上付き文字に設定します。
Subscript
【サブスクリプト】
下付き文字に設定します。

Characters【キャラクターズ】プロパティ

セル内の文字列の範囲を参照して、文字列範囲を表すCharacters【キャラクターズ】オブジェクトを取得するにはRange【レンジ】オブジェクトのCharacters【キャラクターズ】プロパティを使用します。

Characters【キャラクターズ】プロパティの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Characters( [Start, Length] )

  • オブジェクト(必須)
    対象となる文字列があるセルをRange【レンジ】オブジェクトで指定します。
  • Start【スタート】(省略可)
    参照する文字の先頭を先頭から数えた数値で指定します。この引数に 1 を指定するか省略すると、文字の先頭から参照します。
  • Length【レングス】(省略可)
    参照する文字数を指定します。省略した場合は引数Startで設定した先頭文字以降の文字をすべて参照します。

Count【カウント】プロパティ

文字列範囲を表すCharacters【キャラクターズ】オブジェクトに含まれる文字数を取得するには、Characters【キャラクターズ】オブジェクトのCount 【カウント】プロパティを使用します。

Count【カウント】プロパティの書式と設定値の説明

オブジェクト.Count
【戻り値】長整数型の値

  • オブジェクト(必須)
    Characters【キャラクターズ】プロパティで取得したCharacters【キャラクターズ】オブジェクトで指定します。

Strikethrough【ストライクスルー】プロパティ

指定した文字列に水平な取り消し線を設定するにはセルの書式設定を表すFont【フォント】オブジェクトのStrikethrough 【ストライクスルー】プロパティを使用します。

Strikethrough【ストライクスルー】プロパティの書式と設定値の説明

オブジェクト.Strikethrough = 設定値

  • オブジェクト(必須)
    Font【フォント】プロパティで取得したFont【フォント】オブジェクトを指定します。
  • 設定値(必須)
    取り消し線を設定する場合は「True」を設定します。

Superscript【スーパースクリプト】プロパティ

指定した文字列を上付き文字に設定するにはセルの書式設定を表すFont【フォント】オブジェクトのSuperscript【スーパースクリプト】プロパティを使用します。

Superscript【スーパースクリプト】プロパティの書式と設定値の説明

オブジェクト.Superscript = 設定値

  • オブジェクト(必須)
    Font【フォント】プロパティで取得したFont【フォント】オブジェクトを指定します。
  • 設定値(必須)
    上付き文字を設定する場合は「True」を設定します。

Subscript【サブスクリプト】プロパティ

指定した文字列を下付き文字に設定するにはセルの書式設定を表すFont【フォント】オブジェクトのSubscript【サブスクリプト】プロパティを使用します。

Subscript【サブスクリプト】プロパティの書式と設定値の説明

オブジェクト.Subscript = 設定値

  • オブジェクト(必須)
    Font【フォント】プロパティで取得したFont【フォント】オブジェクトを指定します。
  • 設定値(必須)
    下付き文字を設定する場合は「True」を設定します。

取り消し線、上付き文字、下付き文字を設定するコードと解説

Sub 文字飾り()
Dim 文字数 As Long
文字数 = Range("B2").Characters.Count
Range("B1").Font.Strikethrough = True
Range("B2").Characters(文字数, 1).Font.Superscript = True
Range("B3").Characters(2, 1).Font.Subscript = True
End Sub
2行目【Dim 文字数 As Long】
B2セルに入力されている文字列の数を格納する変数「文字数」を長整数型(Long)で宣言します。


3行目【文字数 = Range(“B2”).Characters.Count】
B2セルの文字列の数をCharacters【キャラクターズ】オブジェクトのCount【カウント】プロパティで取得して変数「文字列」に代入します。B2セルの値が文字列ではない場合は、Count【カウント】プロパティはエラーになります。


4行目【Range(“B1”).Font.Strikethrough = True】
B1セルの値にFont【フォント】オブジェクトのStrikethrough【ストライクスルー】プロパティにTrueを設定して取り消し線を設定します。


5行目【Range(“B2”).Characters(文字数, 1).Font.Superscript = True】
B2セルの文字列をCharacters【キャラクターズ】プロパティで引数StartにB2セルの文字数が格納されている変数「文字数」を設定してB2セルの最後の文字列を参照して、Font【フォント】オブジェクトのSuperscript【スーパースクリプト】プロパティにTrueを設定して上付き文字を設定します。


6行目【Range(“B3”).Characters(2, 1).Font.Subscript = True】
B3セルの文字列をCharacters【キャラクターズ】プロパティで引数Startに2を設定し文字列に先頭から2番目の文字列を参照して
Font【フォント】オブジェクトのSubscript【サブスクリプト】プロパティにTrueを設定して下付き文字を設定します。


実行結果


以上で、セルの文字列に文字飾りを設定する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告