我在一個單元格中有一個字符串,可以說它說「客戶端參考:F123456PassPlus」。 字符串在數字前可能沒有字母,可能數字中有符號,字母和數字之間可能有空格。 我需要僅提取數字作爲變量。我有代碼來完成它,但它不知道何時停止循環遍歷字符串。它應該在數字或符號以外的東西停止,但它會繼續。Excel VBA通過一串數字循環,直到找到一個字母
IsNumber = 1
ref = ""
If branch = "" Then
e = b
Else
e = b + 1
End If
f = 1
While IsNumber = 1
For intpos = 1 To 15
ref = Mid(x, e, f)
f = f + 1
Select Case Asc(ref)
Case 45 To 57
IsNumber = 1
Case Else
IsNumber = 0
Exit For
End Select
Next
IsNumber = 0
Wend
任何變量的信件有沒有定義先前已經被定義
,E告訴代碼從哪裏開始複製,x是包含字符串的單元格。現在,它一切正常,它從數字開始並複製它們並將它們構建成一個更大更大的字符串,但它只會在intpos達到15時停止。
無論你想結束子任何地方,只要添加'退出子'。 – BruceWayne
我需要宏來知道它何時得到了一個字母(或者最好在之前),然後我會在代碼中使用'Exit For'。用我寫的東西,我認爲它應該這樣做,但顯然不是。 –
您是否debug.print Asc(ref)查看值? – CPMunich