我正在嘗試在VBA中編寫數據過濾腳本,並認爲使用單獨的函數這樣做會是個不錯的主意。因此,我得到了下面的代碼:像在VBA中沒有明顯的原因返回False
Sub checkFormat()
Dim cont As String
cont = "21-345"
cont = funkcja(cont)
check = cont Like "##-###"
Debug.Print check & " vartype: " & VarType(cont)
End Sub
Private Function funkcja(Param1 As String)
If ((Left(Param1, 1) = " ") Or (Right(Param1, 1) = " ")) Then
Param1 = Trim(Param1)
Debug.Print "Cut"
Else
Debug.Print "Nothing to cut"
End If
Debug.Print "Returned: """ & Param1 & """" & " vartype: " & VarType(Param1)
End Function
的問題是,check
變量返回假不管我分配給它的任何值。但是,一旦我將cont=funkcja(cont)
行註釋掉,Like函數就會像應該那樣開始工作。任何人都可以告訴我funkcja
函數對字符串做了什麼,以便Like返回False?我檢查變量類型,但它總是被設置爲String ...
哪裏的點心。檢查? – sybkar
好問題。我忘了它,但添加Dim不會改變任何東西 - 像仍然返回False – MartinUKPL