返回列表 上一主題 發帖

[發問] 提取字串內數字比大小

Sub TEST_a1()
Dim Arr, i&, j%, TR, V1, V2
Arr = Range([b1], [b65536].End(xlUp))
For i = 2 To UBound(Arr)
    TR = Split(Arr(i, 1), "-"): Arr(i - 1, 1) = "": V = ""
    If UBound(TR) < 1 Then GoTo i01
    For j = 1 To Len(TR(0))
        If Mid(TR(0), j, 1) Like "#" Then V1 = Val(Mid(TR(0), j)): Exit For
    Next j
    If V1 = "" Or V1 > 390 Then GoTo i01
    V2 = Val(TR(UBound(TR)))
    Arr(i - 1, 1) = IIf(V2 > 180, "", IIf(V2 > 90, 2, 1))
i01: Next i
[c2].Resize(UBound(Arr) - 1) = Arr
End Sub

TOP

回復 11# 准提部林

准大,請教一下 Like "#"   是取數字,我是用ASCII判斷,那如果是只取英文, 要如何寫 Like ...
另外這種寫法要如何查到所有相關資訊(如特殊符號、英文大寫...),
因為ASCII有相關資訊,只要找到就可以擷取相關字,謝謝

TOP

回復 12# samwang

MSGBOX "1" LIKE "#"
MSGBOX "1" LIKE "[0-9]"
MSGBOX "123" LIKE "###"  '三個數字. 一個#為一個數字

MsgBox "A" Like "[A-Z]"  '大寫
MsgBox "a" Like "[a-z]"  '小寫
MsgBox "x" Like "[A-z]"  '大小寫

MsgBox "7" Like "[0-9A-Z-/+]"  '數字_英大寫_符號-/+

部份與正則用法類似, 但我對正則不熟, 只能就所知玩玩~~

TOP

回復 13# 准提部林


感謝准大指導,另外剛剛google 一下,分享多一個中文寫法,謝謝。

MsgBox "中" Like "[一-籲]"    '中文字

TOP

回復 10# 准提部林

謝了   疏忽了
google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

回復 14# samwang


中文...沒多去測試--特殊字/簡體/日本中文--會不會有判錯,
所以不太敢用~~

TOP

本帖最後由 wayne0303 於 2021-6-21 16:22 編輯

回復 10# 准提部林


感謝准大相助!

TOP

回復 16# hcm19522


謝謝h大~

TOP

回復 17# 准提部林


中文...沒多去測試--特殊字/簡體/日本中文--會不會有判錯
>> 經過測試,真的有問題,謝謝

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題