教えて!ExcelVBA!

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

【ExcelVBA セル操作】セルの文字列に取り消し線(Font.Strikethrough)を設定する方法を教えて!

f:id:m_kbou:20210814165506p:plain

セルに入力されている文字列に取り消し線を設定したいケースがあります。ExcelVBAで文字列に取り消し線を設定するにはFont.Strikethroughプロパティを使用します。この取り消し線を設定する方法について紹介します。

 

 

構文

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

Range(”[セル範囲]”).Font.Strikethrough = True or False

[説明]:

文字列に取り消し線を設定するには
 「Range(”[セル範囲]”).Font.Strikethrough = True」
と記述します。
また、文字列に取り消し線を解除するには
 「Range(”[セル範囲]”).Font.Strikethrough = False」
と記述します。
 [セル範囲]には取り消し線を設定したいセル範囲を記述し、「”」(ダブルクォーテーション)で囲みます。取り消し線を設定するとの意味合いとなるFont.Strikethroughの後に、「True」を指定するとセル範囲で指定した文字列に取り消し線を設定します。また、「False」を指定すると取り消し線を解除します。内容を纏めると、「[セル範囲]で指定したセル範囲の文字列に取り消し線を設定して下さい。又は、取り消し線を解除して下さい。」との意味になります。(※文字列への取り消し線設定は、セルの書式設定画面の文字飾りに含まれる取り消し線の設定と同じ意味になります。)

f:id:m_kbou:20210814170205p:plain

[記述例]:

Range("A1").Font.Strikethrough = True
Range("A1").Font.Strikethrough = False

 

使い方

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

文字列に取り消し線を設定する方法

文字列に取り消し線を設定する方法について説明します。

[プログラミング例]:

Sub 取り消し線設定()
  Range("A1").Font.Strikethrough = True
  MsgBox "取り消し線を設定しました。"
End Sub

内容は、「A1セルの文字列に取り消し線を設定し、最後にMsgBoxで”取り消し線を設定しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210814165558p:plain

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

[実行例]:

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

f:id:m_kbou:20210814165636p:plain

②結果は以下の様になります。A1セルの「おはようございます。」の文字列に取り消し線が設定され、MsgBoxで「取り消し線を設定しました。」が表示されます。

f:id:m_kbou:20210814165649p:plain

セルに含まれる文字列に取り消し線を設定する方法についての説明は以上です。

 

文字列に設定した取り消し線を解除する方法

文字列に設定した取り消し線を解除する方法について説明します。

[プログラミング例]:

Sub 取り消し線解除()
  Range("A1").Font.Strikethrough = False
  MsgBox "取り消し線を解除しました。"
End Sub

内容は、「A1セルの文字列に設定されている取り消し線を解除し、最後にMsgBoxで”取り消し線を解除しました。”のメッセージを表示して下さい。」との意味になります。

f:id:m_kbou:20210814165614p:plain

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

[実行例]:

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

f:id:m_kbou:20210814165710p:plain

②結果は以下の様になります。A1セルの「おはようございます。」の文字列に設定されている取り消し線が解除され、MsgBoxで「取り消し線を解除しました。」が表示されます。

f:id:m_kbou:20210814165731p:plain

セルに含まれる文字列に設定された取り消し線を解除する方法についての説明は以上です。

 

[サンプル]:

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

drive.google.com

  

おわりに

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