我有一個郵件列表,其中包含大量招股說明書的名稱和地址,取自excel文檔中的.tab文件。但地址包含在一個單元格內,每行由回車分隔。需要Excel VBA宏根據特定字符將單元劃分爲多個單元格
我真的需要一個宏,我可以運行它將不同的部分分成不同的單元格。我基本上知道結構,但不知道VBA的功能。
它需要掃描,直到出現一個回車符,把前面的數據減去回車符到一個新的單元格中,然後繼續,直到單元格中沒有剩餘字符爲止,因爲末尾沒有回車符。
這可能嗎?
我有一個郵件列表,其中包含大量招股說明書的名稱和地址,取自excel文檔中的.tab文件。但地址包含在一個單元格內,每行由回車分隔。需要Excel VBA宏根據特定字符將單元劃分爲多個單元格
我真的需要一個宏,我可以運行它將不同的部分分成不同的單元格。我基本上知道結構,但不知道VBA的功能。
它需要掃描,直到出現一個回車符,把前面的數據減去回車符到一個新的單元格中,然後繼續,直到單元格中沒有剩餘字符爲止,因爲末尾沒有回車符。
這可能嗎?
這裏VBA宏代碼:
Dim rngSource As Range
Dim rngDestination As Range
Set rngSource = Sheet1.Range("A1:A5") ' or wherever your list is
Set rngDestination = Sheet1.Range("C1") ' parsed data will be placed here
rngSource.TextToColumns _
Destination:=rngDestination , _
DataType:=xlDelimited, _
Other:=True, _
OtherChar:=vbLf ' This is where you define your delimiter character
其中vbLf
相同Chr(10)
,假設這是你的分隔符。根據您的回車風格,您可能需要使用vbCr
(或等效地,Chr(13)
)。
請注意,@Jon Egerton的非宏觀方式做得很好。但是,如果需要多次執行,我傾向於厭倦所有的點擊,選擇,打字,複製,特殊粘貼,粘貼到錯誤的地方,不得不重新開始等等。我發現VBA宏很多更可重用。這是一個口味問題,我猜。
你可以做到這一點沒有VBA如下:
(我假設你的數據在A列)
=SUBSTITUTE(A1,CHAR("10"),"|")
希望這有助於
+1 Aha,'SUBSTITUTE'! –
@Jean:我總是忘記它不是REPLACE。 –
非常感謝。它完美的工作,但我從編程背景,所以更喜歡只運行宏的簡單。但我真的很感謝幫助! – Murray
謝謝,這正是我正在尋找的。完美的作品。 – Murray