Windows環境の改行を表す、VBAの定数vbCrLfについて、どうも誤解している方がいらっしゃるように感じましたので、記事にさせていただきます。
vbCrLfは文字列
そもそもVBAの定数vbCrLfは(ヒトの目で判断し辛いのは事実ですが)文字列です。
MsgBox TypeName(vbCrLf)
End Sub
上記のSubプロシージャを実行すると「String」と表示されます。
MsgBox TypeName("あいう")
を実行すれば「String」と表示されるのと同じことです。
なお、VBAのTypeName関数をご存知ない方は、
MsgBox TypeName(32767)
を実行すれば「Integer」と表示され、
MsgBox TypeName(32768)
を実行すれば「Long」と表示されることもご確認ください。
vbCrLfは2文字
vbCrLfと1つの定数になっているので、vbCrLfを何となく1文字と思っている方も、少なからずいらっしゃるように感じます。
MsgBox Len(vbCrLf)
End Sub
上記のSubプロシージャを実行すればLen関数で取得した文字数「2」が表示されます。
MsgBox Len("伊藤")
を実行すれば文字数の「2」が表示されるのと似た話です。
ちなみに、
MsgBox Len(vbCr)
あるいは、
MsgBox Len(vbLf)
の場合は当然「1」が表示されます。
vbCrLfはvbCrとvbLfが連結されたもの
定数vbCrLfは、結局のところvbCrとvbLfを連結したものと同じです。
MsgBox vbCrLf = vbCr & vbLf
End Sub
上記のSubプロシージャを実行すればTrueが表示されます。
最終更新日時:2022-08-30 16:03
- Newer:xlwtのColumnオブジェクトはwriteメソッドを持たない
- Older:xlwtでウィンドウ枠を固定する
Home » エクセルマクロ・Excel VBAの使い方 » vbCrLfとはvbCrとvbLfを連結した文字列