Public Sub example()
Dim sArray(4) As string
Dim element As variant
For Each element In sArray
do_something element
Next element
End Sub
Sub do_something(ByVal e As String)
End Sub
我像芬克建议的那样使用计数器变量。如果想要 For Each 并传递 ByRef (对于长字符串来说,这样更有效) ,那么必须使用 CStr 将元素强制转换为字符串
Sub Example()
Dim vItm As Variant
Dim aStrings(1 To 4) As String
aStrings(1) = "one": aStrings(2) = "two": aStrings(3) = "three": aStrings(4) = "four"
For Each vItm In aStrings
do_something CStr(vItm)
Next vItm
End Sub
Function do_something(ByRef sInput As String)
Debug.Print sInput
End Function
Function isInArray(ByRef stringToBeFound As String, ByRef arr As Variant) As Boolean
For Each element In arr
If element = stringToBeFound Then
isInArray = True
Exit Function
End If
Next element
End Function