簡體   English   中英

Excel宏無法分隔字符串地址

[英]Excel Macro Unable to Separate String Address

軟體: MS Excel 2016


更新1

請注意,西之前可以有任意數字,即

123124234234West18th Street

2West 14th Avenue

12324West

請協助一般解決方案



原始問題

地址為31 West 31West 52nd Street我想將31West分開,所以輸出將是

31 West 52nd Street

嘗試了此宏語句,但無法正常工作,請指導

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

因此,從輸入:

"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)

在此處輸入圖片說明

或者,如果您只想要宏,

Sub rep()
Range("B1") = Replace(Range("A1"), "West", " West")
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM