- ベストアンサー
Excel2000VBA テキストボックス内での改行で・・・
ユーザーフォームにテキストボックスを作り、 テキストボックス内での改行をできるように設定します。 このテキストボックスに入力されたデータをセルに入力すると セルでは改行したところに「・」が入ってしまいます。 例えばテキストボックスに こんにちは[改行] いい天気ですね と入力して、これをsheet1のA1に入力します。すると、 こんにちは・ いい天気ですね と入力されてしまいます。 この「・」を表示しないようにする方法はありますか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 まず、VBAの改行はおそらく、vbCrLf(Chr(13)+Chr(10))で行っていることと思います。 しかし、セル内改行は、vbLf(Chr(10))であり、これはセルの書式設定の[配置]で、 [折り返して全体を表示する] にチェックが入っている場合は改行され、チェックが入っていない場合は改行されず、「・」で表示されます。 一方、vbCr(Chr(13))は改行されず、必ず「・」を表示します。 したがって、質問のようになるのは、改行コードにvbCrLfを使用しているために、vbCrが「・」を表示し、vbLfで改行されたためです。 方法としては、 改行コードにvbLfを使用すればいいでしょう。 また、自動的にvbCrLf入る場合は、文字列からvbCrを削除してからセルに代入すればいいでしょう。
その他の回答 (1)
- maruru01
- ベストアンサー率51% (1179/2272)
>テキストボックスのプロパティではどちらを使うかの設定は >できないのでしょうか? 多分出来ません。 したがって、Replace関数を使ってvbCrを削除してからセルに代入すればいいでしょう。 Range("A1").Value = Replace(Text1.Text, vbCr, "") という風に。
お礼
コードまで、ありがとうございます。早速試してみます。 勉強を始めたばかりで、理解にくるしむことばかりです。とくに、VBAのヘルプ。 ありがとうございました。m(__)m
補足
maruru01さん、早速のご回答ありがとうございます。 VBA初心者なので、改めての質問です。すみません。(^^;ゞ テキストボックスのプロパティではどちらを使うかの設定は できないのでしょうか?