2013-06-22 44 views
0

中的wraptext單元格的行寬是否可以在「wraptext = True」單元格中獲得「行的數組」或每行的「break row mark(vbCrLf?)」的位置其「.Text」是一個很長的字符串,並自動分成多行?如何獲得vba

回答

0

是的,有可能考慮部分解決手動換行符。該代碼將看起來(爲Activecell)如下:

Sub Solution() 

    Dim myArray 
    myArray = Split(ActiveCell, Chr(10)) 

    'return to range cells below activecell 
    ActiveCell.Offset(1, 0).Resize(UBound(myArray) + 1, 1) = Application.Transpose(myArray) 
End Sub 

之前和之後都在下面的圖片:

enter image description here

附加提示:而不是Chr(10)你可以嘗試使用Chr(13)如果你沒有得到預期的結果(其他可能的稀釋劑是:vbCrLfvbCr)。

+0

只有_partialy_回答這個問題。不處理包裝單元格中的自動中斷 –

+0

@chrisneilsen,對,我剛剛在我的回答中說過。 –

+0

KazJaw,謝謝你的回答,但我仍然沒有得到我期望的結果。例如:範圍(「A1」)中的文本=「Alpha Betha Delta」(請注意,字符串中沒有中斷行),而單元格「.wraptext = True」會將單詞分成多行在外觀上*。所以,就像我的代碼myArray = Split(Range(「A1」),Chr(10))'一樣,我總是隻用myArray(0)=「Alpha Betha Delta」得到myArray,而不是我希望'myArray(0)=「Alpha」; myArray(1)=「Betha」; myArray(2)=「Delta」;' – johnn