我需要在一個單元格中插入行,但我無法插入換行符。Excel-VBA:無法插入換行符
例如:
一號線
2號線
3號線
用VBA代碼:
Ws.Cells(i, 2) = line1 & line2 & line3
我得到:
一號線2號線3號線
我怎樣才能解決這個問題?
我需要在一個單元格中插入行,但我無法插入換行符。Excel-VBA:無法插入換行符
例如:
一號線
2號線
3號線
用VBA代碼:
Ws.Cells(i, 2) = line1 & line2 & line3
我得到:
一號線2號線3號線
我怎樣才能解決這個問題?
這是你正在嘗試?
Ws.Cells(i, 2).Value = "line1" & vbnewline & "line2" & vbnewline & "line3"
或
Ws.Cells(i, 2).Value = "line1" & vbCrLf & "line2" & vbCrLf & "line3"
編輯:在我的評論中提到插入引號。
如果line1是一個文本,然後把它們放在引號中,比如「line1」&vbnewline&「line2」&vbnewline&「line3」 –
VBA中的換行符是vbCrLf
,您可以將它們與字符串連接起來。
Ws.Cells(i, 2) = line1 & line2 & Chr(10) & line3
僅供參考,您可以防止通過使用更易於類型變量名稱的編碼錯別字。
bx = vbCrLf
textstring = "Hello everybody!" & bx & "This is my second line!"
這會讓你的代碼更難讀,因爲你違背了讀者期望的內容,因此不推薦在所有。 – aevanko
我已經測試了幾個組合和這裏的結果:
cell(a,b) = line1 & vbCrLf & line2
結果:
行1 **
2號線
cell(a,b) = line1 & vbCr & line2
結果:
line1line2
cells(a,b) = line1 & vbLf & line2
結果:
一號線
2號線
在上述結果的*表示一個空格(我不知道爲什麼),所以不建議vbCrLf時要居中單元格內容水平。我偏好vbLf。
是'line1','line2','line3'字符串?在他們自然沒有linebreaks? – Brad