1
我已經查看了此處報告的ByRef錯誤,但仍無法找到我的方式的錯誤。Join()上的ByRef參數類型不匹配錯誤
我有這個,其中OrderedCaseList()是類型Variant的函數。它正確調用並按預期返回數組。
但是,當我嘗試編譯時,我在Join(arr...
命令上得到「ByRef參數類型不匹配」。我不知道爲什麼...
Private Sub worksheet_Activate()
Dim s As String
Dim arr() As String
Dim var As Variant
Dim i As Long, j As Long
var = OrderedCaseList(True)
ReDim arr(0 To UBound(var))
j = UBound(var)
For i = 0 To j
arr(i) = var(i)
Next
s = Join(arr, ",")
Range("c16").Validation.Add Type:=xlValidateCustom, Formula1:=s
End Sub
代碼的最後兩行註釋掉時,變量表輸出爲:
OrderedCaseList, Type: Variant/Variant
Expression:OrderedCaseList(0), Value:"Case 1", Type:Variant/String
etc.
Var, [email protected] Variant/Variant
Expression: Var(0), Value:"Case 1", Type:Variant/String
etc.
arr, Type:String(0 to 3)
Expression:arr(0), Value:"Case 1", Type:String
任何幫助表示讚賞。
我不能複製您的問題。你可能想嘗試一點也不打擾'arr'或'var'。你可以做's = Join(OrderedCaseList(true),「,」)'並跳過循環。假設沒有幫助,請介意分享OrderedCaseList的代碼? –