Board logo

標題: 請問這個字串為什麼用Find方式無法找到, 用循還環方式就找到 [打印本頁]

作者: color790    時間: 2024-8-27 17:04     標題: 請問這個字串為什麼用Find方式無法找到, 用循還環方式就找到

請問為什麼用Find方式無法找到, 用循還環方式就找到
[attach]37872[/attach][attach]37872[/attach]
TestItem = "Tube-Oil(1D;3.5~4Hrs)"

Sub Test2()
found = False
InfLastRow = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
TestItem = Worksheets("Test").Range("A3").Value
Set SearchRange = Worksheets("Test").Range("A2:K" & (InfLastRow))
Set c = SearchRange.Find(TestItem, , xlValues, xlWhole)
If c Is Nothing Then
    MsgBox "沒有找到"
Else
    MsgBox "有找到"
End If
End Sub
作者: luhpro    時間: 2024-8-28 22:07

請問為什麼用Find方式無法找到, 用循還環方式就找到

TestItem = "Tube-Oil(1D;3.5~4Hrs)"

Sub Test2( ...
color790 發表於 2024-8-27 17:04


經測試似乎是 "~" 符號使得 Find 函式會判斷 TestItem 與 [A3] 的內容是不同的,

只要把 "~" 拿掉就可以找到了.

至於原因我就不知道了......
作者: color790    時間: 2024-8-29 08:50

回復 2# luhpro

感謝你的幫忙~
作者: 准提部林    時間: 2024-9-15 17:28

本帖最後由 准提部林 於 2024-9-15 17:31 編輯

有些符號有一定規範,

TestItem = Worksheets("Test").Range("A3").Value
底下再加這一行
TestItem = replace(TestItem, "~", "~~")  '開頭加"~", 表示它後面那個字元為文字

以下皆同//
TestItem = replace(TestItem, "*", "~*")
TestItem = replace(TestItem, "?", "~?")

==================
想把 5.5*8*12 變成 5.5-8-12
須輸入 "~*"  替換為 "-"




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)