String 在州缩写后提取邮政编码
我有一个Excel文件,上面有几个客户的完整邮寄地址,我只需要填写一列5位数的邮政编码,它总是跟在同一个州的缩写“TX”后面。有时邮政编码后面会添加一个电话号码,有时则不是 如果有一种方法可以在String 在州缩写后提取邮政编码,string,vba,excel,excel-formula,String,Vba,Excel,Excel Formula,我有一个Excel文件,上面有几个客户的完整邮寄地址,我只需要填写一列5位数的邮政编码,它总是跟在同一个州的缩写“TX”后面。有时邮政编码后面会添加一个电话号码,有时则不是 如果有一种方法可以在TX之后选择5位数字,并将该信息移动到一个新的单元格,向下移动到最后一行,那么我还没有找到它。我是VBA的新手,只需要一次就可以了。例如: D3的名称为德克萨斯州斯特雷街75029 432-239-2490 D4的城市名称为德克萨斯州斯特雷克街73902 我想将75029分别移动到F3和73902到F4。
TX
之后选择5位数字,并将该信息移动到一个新的单元格,向下移动到最后一行,那么我还没有找到它。我是VBA的新手,只需要一次就可以了。例如:
D3的名称为德克萨斯州斯特雷街75029 432-239-2490D4的城市名称为德克萨斯州斯特雷克街73902
我想将
75029
分别移动到F3和73902
到F4。用您的输入替换s,并将zip放在您想要的位置
Dim s As String
Dim idx As Long
Dim zip As String
s = "Namey Name Streety Street TX 75029 432-239-2490"
idx = InStr(1, UCase(s), " TX ")
If idx > 0 Then
zip = Mid(s, idx + 4, 5)
Else
zip = "Not found"
End If
用您的输入替换s,并将zip放在您希望的位置
Dim s As String
Dim idx As Long
Dim zip As String
s = "Namey Name Streety Street TX 75029 432-239-2490"
idx = InStr(1, UCase(s), " TX ")
If idx > 0 Then
zip = Mid(s, idx + 4, 5)
Else
zip = "Not found"
End If
像这样的excel公式
=MID(D3,FIND(" TX ",D3)+4,5)
在F3中,然后向下拖动类似于此excel公式的内容
=MID(D3,FIND(" TX ",D3)+4,5)
在F3中,然后向下拖动“一次性工作”VBA似乎有些过分,甚至不需要公式。只需将ColumnD复制到ColumnF中,选择ColumnF并替换。。。(主页>编辑、查找和替换),查找内容:
*TX
(在X
后面有一个空格)
全部替换,然后查找内容:
*
(在*
前面有一个空格)
全部替换。“一次性工作”VBA似乎有些过分,甚至不需要公式。只需将ColumnD复制到ColumnF中,选择ColumnF并替换。。。(主页>编辑、查找和替换),查找内容:
*TX
(在X
后面有一个空格)
全部替换,然后查找内容:
*
(在*
前面有一个空格)
全部替换。演示如何提取字符串的一部分。您应该能够轻松地修改它,以便在
Tx
之后查找数字。演示如何提取字符串的一部分。您应该能够轻松地修改它,以便在Tx
之后查找数字。回答得非常好。我会把这封信存档,供我自己使用:)。回答得很好。我将把这个文件归档以供自己使用:)。