我有以下功能:VBA函数 - 参数是不可选的
Function EntryInTable(stringToBeFound As String, arr1 As Variant) As Integer
EntryInTable = 0
Rem default return value if value not found in array
For i = LBound(arr1, 1) To UBound(arr1, 1)
If StrComp(stringToBeFound, arr1(i, 1), vbTextCompare) = 0 Then
EntryInTable = EntryInTable + 1
Exit For
End If
Next i
End Function
该数组包含以下范围的数据:
Dim arr() As Variant
Set r3 = Sheets("Konten Tabelle").Range("Tabelle4[[Konto]:[Gruppe]]")
i = r3.Rows.Count
Rem Datenfeld für die Konten-Tabelle
ReDim arr(1 To i, 1 To 2)
For j = 1 To i
arr(j, 1) = r3.Cells(j, 1)
arr(j, 2) = r3.Cells(j, 2)
Next
本身的功能似乎做工精细,但在调用时我收到错误参数是不可选的:
Call EntryInTable(Target.Value, arr)
If EntryInTable > 0 Then
Debug.Print EntryInTable
End If
我已经在许多论坛,包括这个Wi取得成功。感谢任何人的答案。
arr包含什么? – inarilo
对不起,只是更新了问题。 – Dooey