У меня есть функция, которая возвращает n-ное появление строки в другой строке и возвращает значение в виде целого числа. Если работает с 3 аргументами, 2 из них объявляются как строки, а один объявляется как целое число (номер появления). Я пытаюсь понять, как обрабатывать значения массива (объявленные как переменные), чтобы он работал с кодом. Код функции здесь:
Function FindN(sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer
Application.Volatile
FindN = 0
For J = 1 To N
FindN = InStr(FindN + 1, sInputString, sFindWhat)
If FindN = 0 Then Exit For
Next
End Function
Фактическая часть подпрограммы:
'''inicjowanie szyku gdzie pierwszy wyraz to kod, drugi to link do GA, trzeci to kod do RC'''
Dim szykkoncowy As Variant
ReDim szykkoncowy(1 To 100, 1 To 3)
i = 1
For J = 1 To UBound(szyk(i))
For i = LBound(szyk) To UBound(szyk)
If szyk(i)(J) Like "*GA*" Then
szykkoncowy(J, 1) = FindN("/", szyk(i)(J).value, 3)
szykkoncowy(J, 2) = szyk(i)(J)
szykkoncowy(J, 3) = Replace(szyk(i)(J), "GA", "RC")
Else
End If
Next i
Next J
, если я заменю второй аргумент чем-то жестко запрограммированным как "asfasf / asfasf / asf / asfasf /" это вернет то, что я после. Я уверен, что это как-то связано с тем, как я объявляю аргументы. Как сделать переменную из массива в виде строки?