我有100多页的文件,其中包含有关本组织潜在资助者的信息。我想制作一个Excel宏,该宏从此文档中提取联系人信息,并将其放入Excel电子表格中。这是文档的样子:
地址分散在文本中,我一直在复制并将其粘贴到Excel中,但是由于该地址位于多行中,因此会粘贴到电子表格的多行中。然后,我需要手动将该字符串解析为可用格式。
我想做的是有一个宏,它搜索单词"Contact"
,然后接受同一列中的下三行(因此,VLookUp
无法正常工作对我来说),并将它们解析为一行中不同列中的普通地址格式。
我想要一个可以打开它的宏:
A
1: Contact:
2: Kate Bull
3: 123 High Road, Whetstone, London
4: N20 8HL
对此:
A B C D E
1: Kate Bull 123 High Street Whetstone London N20 8HL
答案 0 :(得分:1)
用逗号分隔示例字符串将产生3个字符串:
Contact: Kate Bull 123 High Road
Whetstone
London N20 8HL
实施
A1 = Original String
,B1 = Contact
,C1 = State
D1 = Country/Zip
A2
下方粘贴字符串Module
>在代码下方粘贴Sheet1
)Option Explicit
Sub CSV()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim Contact As Range, Contacts As Range, ContactString, i
Set Contacts = ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row)
For Each Contact In Contacts
ContactString = Split(Contact, ", ", , vbTextCompare)
For i = LBound(ContactString) To UBound(ContactString)
Contact.Offset(, i + 1) = ContactString(i)
Next i
ContactString = ""
Next Contact
End Sub