Excelでの文字列の折り返しの設定
Excelで文章を書く際に、セルの中で折り返して表示したいことがあります。
Excel2003まではセルの書式設定などからメニューを辿っていく必要がありましたが、リボン化によりそれは不要になりました。
Excel2007以降ではホームタブ→配置→折り返して全体を表示する をクリックすることで折り返しの設定と解除を行うことができます。
VBAでも同様の設定を行うことが出来ます。
セルの書式設定とプロパティの関係が以下の図になります。
ここでは図の黄色部分の前後スペースを設定するWrapTextプロパティについて説明します。
構文
1 |
Rangeオブジェクト.WrapText |
Rangeオブジェクトにはセル範囲を指定します。
WrapTextは設定と取得を行うことが出来ます。
Trueが折り返しあり、Falseが折り返し解除です。
サンプルコード
サンプルコードを3つ用意しました。セル範囲、シート全体、ブック全体、のそれぞれの折り返しの設定と解除を行うマクロです。
以下のマクロは選択セル範囲の折り返しの設定と解除を交互に行います。
1 2 3 4 5 6 7 |
Sub WrapTextOnOff() If (Selection.WrapText = True) Then Selection.WrapText = False Else Selection.WrapText = True End If End Sub |
こちらのマクロはシート全体の折り返しの設定と解除を行います。
1 2 3 4 5 6 7 |
Sub SheetWrapTextOnOff() If (Cells.WrapText = True) Then Cells.WrapText = False Else Cells.WrapText = True End If End Sub |
こちらのマクロはブック全体の折り返しの設定と解除を行います。
1 2 3 4 5 6 7 8 9 10 11 |
Sub BookWrapTextOnOff() Dim ws As Worksheet For Each ws In Worksheets If (ws.Cells.WrapText = True) Then ws.Cells.WrapText = False Else ws.Cells.WrapText = True End If Next End Sub |