Excelmacros无法分离string地址
软件: MS Excel 2016
更新1
请注意,在West之前可以有任意数量的数字,
123124234234West18th Street
2West 14th Avenue
12324West
请协助解决一般问题
原来的问题
有地址, 31West 52nd Street
我想分裂31
和West
所以输出将是
31 West 52nd Street
尝试了这个macros观声明,但它不会工作,请指导
Selection.Replace What:="?@West ", Replacement:=" West " _ , LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat _ :=False, ReplaceFormat:=False
这是一个代码示例,将检查前几个字符。 如果他们是数字,如果将他们与其余的空间分开:
Option Explicit Public Sub TestMe() Debug.Print fnStrStripMyNumber("31West 52nd Street") Debug.Print fnStrStripMyNumber("123Vityata Shampion") End Sub Public Function fnStrStripMyNumber(strStr As String) As String Dim lngCountDigits As Long Dim lngCounter As Long strStr = Trim(strStr) For lngCounter = 1 To Len(strStr) If IsNumeric(Mid(strStr, lngCounter, 1)) Then lngCountDigits = lngCountDigits + 1 Else Exit For End If Next lngCounter strStr = Left(strStr, lngCountDigits) & " " & Right(strStr, Len(strStr) - lngCountDigits) fnStrStripMyNumber = Trim(strStr) End Function
因此,从input:
"31West 52nd Street" "123Vityata Shampion"
我们得到输出:
31 West 52nd Street 123 Vityata Shampion
你也可以试试这个excel公式,
=LEFT(A1,FIND("West",A1)-1)&" "&RIGHT(A1,LEN(A1)-FIND("West",A1)+1)
或者如果你只想要一个macros,
Sub rep() Range("B1") = Replace(Range("A1"), "West", " West") End Sub