こんにちは、Ryoです。
Excelの機能でセル内の文字列を折り返して全体を表示させることができますが、VBAではWrapTextプロパティを利用することで対処できますので、今回はその内容について書いていきます。
1.サンプル概要
表内の備考欄(E列)がセル幅からはみ出しているサンプルを準備していますので、このE列に対して文字列を折り返し全体を表示するようにします。
WrapTextプロパティを利用して処理を実行した結果が以下表になります。列幅は変わらず行高さが自動的に調整され、その中で文字列を折り返し全体が表示される形となります。
以上がサンプル概要になります。
2.サンプルコード
Sub Sample1() 'セルE2~E12の文字列を折り返して '全体を表示する Range("E2:E12").WrapText = True End Sub
このようにセル内で文字列を折り返して全体を表示するにはWrapTextプロパティを利用します。
構文:オブジェクト.WrapText = True/False
サンプル概要の項でも書きましたが、文字列を表示するために行の高さが自動調節されますので、レイアウト的な部分では影響がある点に注意が必要です。
◆参考:折り返しOn/Offを切り替える
セル内の文字列を折り返して全体表示する処理をコード処理実行の度にOn/OffするにはNot演算子を利用することで対応できます。
Sub Sample2() 'Not演算子を利用することで '文字列折り返しのOn/Offを行う Range("E2:E12").WrapText = _ Not Range("E2:E12").WrapText End Sub
このコードを実行する度に折り返し表示On/Offを切り替えることができますので、ご参考までに。
3.まとめ
レイアウト的に問題が生じないようなケースではセルの列幅内に文字列を折り返して全体を納めてくれますので使い勝手は良いと思います。
Excelの機能のようにOn/OffをNot演算子を利用して切り替えることもできますので、利用機会があればぜひご活用くださいませ。
以上、セル内で文字列を折り返し全体を表示させる方法についてでした!今回の記事が何かの参考になれば幸いです。
Ryo