2012-05-27 87 views
2

我需要在一個單元格中插入行,但我無法插入換行符。Excel-VBA:無法插入換行符

例如:

一號線

2號線

3號線

用VBA代碼:

   Ws.Cells(i, 2) = line1 & line2 & line3 

我得到:

一號線2號線3號線

我怎樣才能解決這個問題?

+0

是'line1','line2','line3'字符串?在他們自然沒有linebreaks? – Brad

回答

13

這是你正在嘗試?

Ws.Cells(i, 2).Value = "line1" & vbnewline & "line2" & vbnewline & "line3" 

Ws.Cells(i, 2).Value = "line1" & vbCrLf & "line2" & vbCrLf & "line3" 

編輯:在我的評論中提到插入引號。

+0

如果line1是一個文本,然後把它們放在引號中,比如「line1」&vbnewline&「line2」&vbnewline&「line3」 –

0

VBA中的換行符是vbCrLf,您可以將它們與字符串連接起來。

-2

僅供參考,您可以防止通過使用更易於類型變量名稱的編碼錯別字。

bx = vbCrLf 

textstring = "Hello everybody!" & bx & "This is my second line!" 
+2

這會讓你的代碼更難讀,因爲你違背了讀者期望的內容,因此不推薦在所有。 – aevanko

3

我已經測試了幾個組合和這裏的結果:

cell(a,b) = line1 & vbCrLf & line2 

結果:
行1 **
2號線

cell(a,b) = line1 & vbCr & line2 

結果:
line1line2

cells(a,b) = line1 & vbLf & line2 

結果:
一號線
2號線

在上述結果的*表示一個空格(我不知道爲什麼),所以不建議vbCrLf時要居中單元格內容水平。我偏好vbLf。