【VBA】文字列を改行する | あじゅWeb

【VBA】文字列を改行する

エクセルVBAでよく使うコードの備忘録。文字列を改行する際に使用する改行コードについて。文字列を改行するのにつかわれるコードはいくつかあります。キャリッジリターン(CR)と呼ばれるものとラインフィード(LF)と呼ばれるもの、その両者の組み合わせが代表的なものです。以下ではそれぞれの挙動について簡単に説明します。

スポンサーリンク

vbLf(ラインフィード)

vbLfはVBAにおいて改行定数であるラインフィードを表す定数です。Char(10)という値としても表現できます。 エクセルのセル内で改行された文字列を入力するためには、このラインフィードを使用する必要があります。

vbCr(キャリッジリターン)

vbCrはVBAにおいて改行定数であるキャリッジリターンを表す定数です。Char(13)という値としても表現できます。この値は改行を表す数値ではあるのですが、エクセルのセル内における改行としてはみなされません。そのため、セル内に入力する文字列を改行させる用途に使うことはできません。

vbCrLf(キャリッジリターン・ラインフィード)

vbCrLfはVBAにおいて改行定数であるキャリッジリターン・ラインフィードの二つをつなげた値を表す定数です。Char(13)+Char(10)という文字列としても表現できます。ウィンドウズではこの値を改行コードとして一般的に使用していますので、改行コードで迷ったらとりあえずこの値(vbCrLf)を使っておけば大丈夫でしょう。この改行文字列にはラインフィードが含まれているので、エクセルのセル内で文字列を改行させるのに使用することができます。

vbNewLine

VBAが走っているOSの種類によって値が変化する改行コードです。ウィンドウズで使用するとvbCrLfと同じ値が使用されます。