我正在处理一个大型 Excel 文件,其中包含与我的公司合作的企业的大量信息。我刚刚导入了另一个大的 excel 文件,它们的格式有所不同。我们已经拥有的较大文件在单独的列中包含地址、州和邮政编码,每列间隔两个,如下所示:
我没有制作这个电子表格,否则我不会像那样放置列,但这就是使用它的女士喜欢它的方式。
问题是我导入的工作表在同一个单元格中包含城市、州和邮政编码信息,如下所示:
纽约州特洛尔维尔 12345
因为 99% 的新状态都是相同的状态,所以我已经遍历了这些状态,快速查找和替换所有状态都有效。我现在只剩下这个了
巨魔镇 12345
我想将该邮政编码向右移动四列到正确的单元格中。我写了一个基本的正则表达式,但对 excel-vba 了解不多,因为我已经多年没有使用它了,但这就是我想出的。我只是不知道如何告诉 vba 将匹配项(我制作成一个数组)打印到适当的列中。这是我到目前为止所拥有的:
Function findZipCode(zipCode)
Dim regEx As New VBScript_RegExp_55.RegExp
Dim matches, s
regEx.Pattern = "\s\d{5}\W"
regEx.Global = True
s = ""
If regEx.Test(zipCode) Then
Set matches = regEx.Execute(zipCode)
For Each Match In matches
s = s & Match.Value
Next
findZipCode = s
Else
findZipCode = ""
End If
End Function
我需要添加什么?如果有更简单的方法可以做到这一点,我也愿意接受替代方法。
提前感谢您的建议