この記事でできるようになること
- セル内改行を含むエクセルのシートをVBAで折り返し解除する
セル内改行があると勝手にセルの文字列が折り返される
VBAで商品ページデータなどを処理することが最近多いんですが、このようなHTMLを含むセルはCSVを読み込んだ段階で画像のように文字の折り返しが勝手に有効化されてしまいます。
これを読み込んだ直後にシート全体の文字の折り返しを解除するマクロがこれ
.WrapText = False
Sub Macro1 Cells.WrapText = False End Sub
これを実行すると以下のように文字列の折り返しが解除されます。
ちなみに折り返し解除するだけでは手動でセルを編集すると、再度折り返しが有効化されて行の高さが変わってしまいます。
行の高さを固定するには直接シート全体の行の高さを指定します。
Sub Macro2 Rows.RowHeight = 18 End Sub
たったこれだけのことですが、毎回手で高さ指定するのが面倒ならVBAでやってしまえば便利ですね。