セルに入力されている文字列に取り消し線を設定したいケースがあります。ExcelVBAで文字列に取り消し線を設定するにはFont.Strikethroughプロパティを使用します。この取り消し線を設定する方法について紹介します。
構文
記述方法は以下の通りとなります。
Range(”[セル範囲]”).Font.Strikethrough = True or False
[説明]:
文字列に取り消し線を設定するには
「Range(”[セル範囲]”).Font.Strikethrough = True」
と記述します。また、文字列に取り消し線を解除するには
「Range(”[セル範囲]”).Font.Strikethrough = False」
と記述します。
[セル範囲] | 取り消し線を設定したいセル範囲を記述します。 ※「”」(ダブルクォーテーション)で囲みます。 |
※上記の設定は、セルの書式設定画面の取り消し線設定と同じ意味になります。
[記述例]:
Range("A1").Font.Strikethrough = True
Range("A1").Font.Strikethrough = False
使い方
使い方について具体的に説明します。
文字列に取り消し線を設定する方法
文字列に取り消し線を設定する方法について説明します。
[プログラミング例]:
Sub 取り消し線設定()
Range("A1").Font.Strikethrough = True
MsgBox "取り消し線を設定しました。"
End Sub
内容は、「A1セルの文字列に取り消し線を設定し、最後にMsgBoxで”取り消し線を設定しました。”のメッセージを表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①A1セルに「おはようございます。」の文字列が入力されています。<取り消し線(設定)>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②結果は以下の様になります。A1セルの「おはようございます。」の文字列に取り消し線が設定され、MsgBoxで「取り消し線を設定しました。」が表示されます。
セルに含まれる文字列に取り消し線を設定する方法についての説明は以上です。
文字列に設定した取り消し線を解除する方法
文字列に設定した取り消し線を解除する方法について説明します。
[プログラミング例]:
Sub 取り消し線解除()
Range("A1").Font.Strikethrough = False
MsgBox "取り消し線を解除しました。"
End Sub
内容は、「A1セルの文字列に設定されている取り消し線を解除し、最後にMsgBoxで”取り消し線を解除しました。”のメッセージを表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
①A1セルに「おはようございます。」の文字列が入力されており、取り消し線が設定されています。<取り消し線(解除)>ボタンをクリックします。このボタンには上記のプログラミング例のプログラムが登録されています。(※ボタンの作り方やボタンにプログラムを割り当てるにはこちらを参考にして下さい。)
②結果は以下の様になります。A1セルの「おはようございます。」の文字列に設定されている取り消し線が解除され、MsgBoxで「取り消し線を解除しました。」が表示されます。
セルに含まれる文字列に設定された取り消し線を解除する方法についての説明は以上です。
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
おわりに
今回はセルに入力されている文字列に取り消し線を設定する方法について説明しました。類似内容に上付き文字の設定や下付き文字の設定もあります。こちらも参考にして下さい。