Найти n-е появление строки в строке, которая является не строкой, а переменной - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть функция, которая возвращает 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 /" это вернет то, что я после. Я уверен, что это как-то связано с тем, как я объявляю аргументы. Как сделать переменную из массива в виде строки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...