我有一个邮件列表,其中包含大学招股说明书的姓名和地址,这些信息取自 Excel 文档中的 .tab 文件。但地址包含在单个单元格内,每行由回车符分隔。
我真的需要一个可以运行的宏,它将不同的部分分成不同的单元格。我基本上知道结构,但不知道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 宏非常有用更可重复使用。我想这是一个品味问题。
关于excel - 需要 Excel VBA 宏根据特定字符将一个单元格划分为多个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6625494/