Процедура VBA выводит различное количество строковых переменных, которые должны быть объявлены и использованы повторно

Здесь у нас есть процедура дляКодо отМистер Тим Уильямс который печатает наImmediate window что-то, чего мы действительно-очень хотим. Я сделал несколько мини модификаций изоригинал и у меня есть комментарий-словоMODIFICATION рядом с ними

Sub MAGAZINE()

    Dim IE As InternetExplorer ' MODIFICATION
    Dim els, el, colDocLinks As New Collection
    Dim lnk
    Dim Ticker As String ' MODIFICATION

    Set IE = New InternetExplorer 'MODIFICATION

    IE.Visible = True

    Ticker = Worksheets("Sheet1").Range("A1").Value 'MODIFICATION

    loadpage IE, "https://www.sec.gov/cgi-bin/browse-edgar?" & _
                  "action=getcompany&CIK=" & Ticker & "&type=10-Q" & _   'MODIFICATION by putting the Ticker String Variable and then Concatenate accordingly
                  "&dateb=&owner=exclude&count=20"                       

    Set els = IE.Document.getelementsbytagname("a")
    For Each el In els
        If Trim(el.innertext) = "Documents" Then
            colDocLinks.Add el.href
        End If
    Next el

    For Each lnk In colDocLinks
        loadpage IE, CStr(lnk)
        For Each el In IE.Document.getelementsbytagname("a")
            If el.href Like "*[0-9].xml" Then                'MODIFICATION
                Debug.Print el.innertext, el.href
            End If
        Next el
    Next lnk

End Sub

Sub loadpage(IE As Object, url As String)
    IE.Navigate url
    Do While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
End Sub

В четвертой модификации / дополнении вы можете заметить, что человек может просто набрать Stock Ticker в ячейке A1 и запустить код

Ticker = Worksheets("Sheet1").Range("A1").Value 'MODIFICATION

Теперь дело в том, что если мы будем ставить разные биржевые тикеры, мы получим разныеколичество строк, напечатанных в окне «Немедленно».

Например, набрав в ячейке A1 тикер CRR, мы получим 11 результатов

Теперь, если мы введем в ячейку A1 тикер MSFT, мы получим 14 результатов

Теперь суть проблемы заключается в том, что эти строковые значения должны быть вставлены вRIFLE macro&nbsp;и хотя я мог бы задавать значения, которые я получаю из каждой итерации цикла в String Variables, в моих мыслях возникает вопрос:MAGAZINE macro&nbsp;как это логичноне имеет точного количества строк, напечатанных в непосредственном окне.&nbsp;Вы можете видеть это на самом деле на двух предыдущих рисунках ...

Так как это возможно, когдаMAGAZINE macro&nbsp;имеет результат, скажем, 6 строк; они должны быть назначены 6 строковым переменным и не иметь 30 строковых переменных, всегда объявляющих разрушение в памяти, и когда результат составляет 14 строк; они должны быть назначены 14 строковым переменным.

Как это можно отрегулировать во время выполнения, чтобы винтовка всегда была загружена с правильным количеством раундов?

Потому что я не остановлюсь там; тогда у меня есть планы подключить эти строковые переменные вRIFLE macro&nbsp;предоставленоuser2140261&nbsp;и показано ниже ...

Sub RIFLE()
Dim strXMLSite As String
Dim objXMLHTTP As MSXML2.XMLHTTP
Dim objXMLDoc As MSXML2.DOMDocument
Dim objXMLNodexbrl As MSXML2.IXMLDOMNode
Dim objXMLNodeDIIRSP As MSXML2.IXMLDOMNode

Set objXMLHTTP = New MSXML2.XMLHTTP
Set objXMLDoc = New MSXML2.DOMDocument

strXMLSite = "http://www.sec.gov/Archives/edgar/data/10795/000119312513456802/bdx-20130930.xml"

objXMLHTTP.Open "POST", strXMLSite, False
objXMLHTTP.send
objXMLDoc.LoadXML (objXMLHTTP.responseText)

Set objXMLNodexbrl = objXMLDoc.SelectSingleNode("xbrl")

Set objXMLNodeDIIRSP = objXMLNodexbrl.SelectSingleNode("us-gaap:DebtInstrumentInterestRateStatedPercentage")

Worksheets("Sheet1").Range("A1").Value = objXMLNodeDIIRSP.Text
End Sub

Если бы вы могли подключить это колеблющееся число строковых значений, выходящих из макроса MAGAZINE, в строковые переменные в макросе RIFLE, которые бы помогли решить всю проблему.

Макрос RIFLE здесь имеет в своем первоначальном видеstrXMLSite&nbsp;Струна Variabe.

ОБНОВЛЕНИЕ В настоящее время я пытаюсь загрузить его в массив, а затем выгрузить его ...