許せない心理テスト

セルに直接

="a" & CHAR(10) &"b"

と入力するのと、

Sub a()
ActiveCell.Value = "a" & Chr(10) & "b"
End Sub

とするのでは、同じ意味ですか?

A 回答 (3件)

Excel のヘルプ(キーボードの F1 キー)で CHAR 関数を、VBE のヘルプで Chr 関数をそれぞれ見ると、どちらも文字コードを引数とすると書いてあります。



次の操作をしてみてください。

(1) A1、B2、C1 セルにそれぞれ =char(b2)、=code(b1)、=a1=b1 と記入、(2) B1 にカーソルを置く、(3) VBE のイミディエイトウィンドウに selection.value=vbcr とタイプして Enter、(4)(3)の「vbcr」を「vblf」や「vbcrlf」に書き換えた上で(2)と(3)を繰り返す。

VBA の改行関連の文字定数については、ヘルプ「その他の定数」に説明があります。

イミディエイトウィンドウに ?asc(vbcr)、?asc(vblf)、?asc(left(vbcrlf,1))、?asc(right(vbcrlf,1)) と打って、それぞれ Enter してみてください。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/30 22:57

CHAR(10)はセル関数で、Chr(10)はVBA関数というだけで意味は同じです。



ただし、セルに直接CHAR(10)とした場合、セルの書式設定で「折り返して全体を表示」にしていないと折り返して表示してくれません。VBAで実行した場合は、自動で「折り返して全体を表示」にしてくれていますので折り返して表示されます。

VBAの場合

"a" & vbCrLf & "b"

としたりします。個人的にはvbCrLf をお勧めします。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/30 22:57

>同じ意味ですか?


表示される内容という意味では同じですが。。。
前者は数式で、後者は文字列になりますので厳密には違うものですね。
    • good
    • 0
この回答へのお礼

回答頂きありがとうございました。

お礼日時:2013/12/30 22:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報