- ベストアンサー
VBAのテキストフォームの折り返しについて
こんにちは。 あまりVBAに詳しく無いのですが、会社で必要に迫られ悪戦苦闘しながら開発をしています。 ですので、まだまだ分からない事が多く助けていただきたく質問した次第です。 題名の通り、今EXCELVBAで、 SQLからデータを取得し、シートに挿入。 で、そのシートのデータをコマンドボタンをトリガーにフォームに表示させるようにしているのですが、 UserFormのプロパティから直接WordWrapをTrueにしてもテキストフォーム内でデータが折り返されず、一列で表示されてしまいます。 SQLから取得するときはセルの書式をVBAで以下のように指定し、問題なく出来ました。 Columns("BF:BH").WrapText = True もちろん、セルで表示する場合と、フォームで表示する場合とでは違うのですが、これが原因なのかと思ってしまいます。 原因はなんなのか、対処法はどうしたらよいのか、 もし分かる方がいらっしゃいましたらご教授願えますでしょうか。 分かりづらい文章で大変恐縮ですが、何卒よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1で既にご回答は出てますが フォームにテキストボックスを1つ張り付け テキストボックスのプロパティを手動で設定するか、下記コード を入れる。 Private Sub UserForm_Click() UserForm1.TextBox1.WordWrap = True UserForm1.TextBox1.MultiLine = True UserForm1.TextBox1.Text = "aaaa" & vbCrLf & "ffggg" End Sub または UserForm1.TextBox1.Text = "aaaa" & Chr(10) & "ffggg" 'UserForm1.TextBox1.Text = "aaaa" & vbLf & "ffggg" UserForm1.TextBox1.Text = "aaaa" & vbCr & "ffggg" などでも同じです。
その他の回答 (1)
- onlyrom
- ベストアンサー率59% (228/384)
WordWrap プロパティだけではなく MultiLine プロパティもTrueにしなければいけません。 外しましたらご容赦願いまする。
お礼
回答ありがとうございます。 おっしゃる通り、MultiLineプロパティをTrueにしたらできました。 ありがとうございました。
お礼
回答ありがとうございます。 コードでの対処方法も記載していただき、 ありがとうございました。 おかげで解決いたしました。