我有一个邮件列表,里面有大学招股说明书的名称和地址,取自.tab文件,在excel文件中。但地址包含在一个单元格中,每一行都由一个回车分隔。
我真的需要一个可以运行的宏,它将不同的部分分成不同的单元格。我基本上了解结构,但不了解VBA的功能。
需要扫描直到出现回车符,将前面的数据,减去回车符号放入新单元格,然后继续,直到单元格中没有剩余字符,因为最后没有回车符。
这可能吗?
答案 0 :(得分:4)
您可以在没有VBA的情况下执行此操作,如下所示:
(我假设您的数据在A栏中)
=SUBSTITUTE(A1,CHAR("10"),"|")
希望这有帮助
答案 1 :(得分:4)
以下是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宏很多更可重复使用。我想这是一个品味问题。