2012-03-28 71 views
25

是否可以通過VBA代碼在換行單元格中插入換行符? (類似於做Alt鍵 - 手動輸入數據時,輸入通過代碼在包裝單元格中插入換行符

我已經通過VBA代碼單元格的包裹文本屬性設置爲True,而我也通過VBA代碼將數據插入到它。

+1

內部也許是時候接受的答案很可能是否定的。 – mattboy 2012-03-28 06:43:32

+2

@mattboy:我不明白... – 2012-03-28 07:32:52

+0

如果我的回答沒有達到你的問題(通過VBA代碼在包裝單元格中插入換行符)?那麼我對你實際需要的東西感到困惑。你可以擴展嗎? – brettdj 2012-03-28 22:40:33

回答

46

是的。在VBA相當於Alt鍵的輸入是使用斷行字符:

ActiveCell.Value = "I am a " & Chr(10) & "test" 

注意,這個自動設置WrapText爲True。

證明

Sub test() 
Dim c As Range 
Set c = ActiveCell 
c.WrapText = False 
MsgBox "Activcell WrapText is " & c.WrapText 
c.Value = "I am a " & Chr(10) & "test" 
MsgBox "Activcell WrapText is " & c.WrapText 
End Sub 
+2

+1。如果我會知道這個線程,那麼我會在我的另一個線程中包含這篇文章......大聲笑。我不得不從頭開始重寫所有內容。 – 2012-03-28 09:09:32

+0

但問題是我無法編輯我的輸入字符串。 ;( – 1355 2012-03-28 11:22:40

+0

當一行結束時,它必須自動結束換行符:) – 1355 2012-03-28 11:23:27

9

你也可以使用vbCrLf相當於Chr(13) & Chr(10)

+1

這可以在Excel中放入兩個CR/LF組合(您不能看到它們,直到你嘗試將單元中的兩條線居中,然後你注意到第一條線偏離中心)。最好使用ControlChars.Lf。 – Andy 2013-07-19 18:39:44

-1

是有添加一個換行符雙向:

  1. 使用從VBA vbCrLf要添加一個換行符字符串中的現有功能,例如:

    昏暗的文本字符串

    文本= 「你好」 & vbCrLf & 「的世界!」

    工作表(1).Cells(1,1)=文本

  2. 使用Chr()函數並傳遞ASCII字符13和10,以便添加一個換行,如圖所示波紋管:

    Dim text As String

    text =「Hello」& Chr(13)& Chr(10)&「World!」

    工作表(1).Cells(1,1)=文本

在兩種情況下,你將不得不在細胞(1,1)或A1相同的輸出。

0

只是做按Ctrl +輸入文本框中