1

興味深い問題があります。セルの内容を取得してメッセージボックスに入れる VBA コードを作成しようとしています。問題は、この文字列にキャリッジ リターンを挿入する方法がわからないことです。

私のコードは次のようになります。

Dim myMsg as string
myMsg = Worksheets("Data").cells(1,1)
msgBox myMsg

したがって、セルに次のA1ものが含まれている場合...

THIS IS MY NEXT AND NOW THIS IS A NEW LINE

...その行の途中に改行を強制するにはどうすればよいですか?

4

3 に答える 3

4

私は VBA を使用したことはありませんが、オンラインで簡単に検索すると、次のようになりました。

 "some string" & vbCrLf & "next line"

 "some string " & chr(13) & "next line"
于 2012-12-29T16:04:11.147 に答える
0

これはあなたの目標が何であるかに依存します。メッセージボックスに表示する前にExcelでテキストを事前にフォーマットし<Alt+Enter>、Excelで行を折り返すと、VBAは次のようになります。

MsgBox Worksheets("Data").cells(1,1).value

自動折り返しを行う場合は、文字列を切り取って長さを指定する関数を記述します。

MsgBox WrapText(Worksheets("Data").cells(1,1).value, 20)
于 2013-01-01T17:32:44.077 に答える
0

新しい行を挿入するには、メッセージ ボックスです。vbCrLF を使用します。

では、バックスラッシュがあるたびに新しい行を入れたいとしましょう。以下を使用します。

Msgbox Replace(ActiveCell.Value, "\", vbCrLF)

サンプル コードの範囲内に収まるようにするには、次を使用します。

Dim myMsg as string
Dim newLineCharacter as string

newLineCharacter = "\"  ' Replace with your delimiter

myMsg = Replace(Worksheets("Data").cells(1,1), newLineCharacter, vbCrLf)
msgBox myMsg
于 2012-12-31T20:41:12.130 に答える