Привет еще раз. Хочу в запросе на скачивание исторических данных по акциям в VBA Excel сделать в источнике данных переменный параметр. В данном случае подставлять вместо AAPL любой другой текст из некоторой ячейки U2 в документе. Обозначил эту переменную под текст в ячейке как ticker и прировнял ее к Workbooks("VBA Lessons.xlsm").Worksheets("HistoryPrice").Range("U2")
Пытался прописать это как .../download/"&ticker&"?period1..., но выходит ошибка. Вероятно, надо как-то иначе это прописывать. Ответ пока не нашел. Буду признателен, если кто-нибудь поможет в этом вопросе.
Всем привет! В диапазоне A5:A507 записаны тикеры компаний из индекса S&P500. Хочу диапазон B5:B507 заполнить названиями компаний. Данные беру из сайта finviz.com. С помощью нижеприведенного кода получается заполнить все ячейки, кроме последней (B507 с тикером SOLV). Ошибка 91 - Object variable or With block variable not set. Интресно, что проблема не в позиции тикера SOLV - A507, а в самом тикере, потому как я его переставлял уже в середину диапазона. Сам тикер и информация по компании на сайте есть.
Sub comparisonShares()
Dim xmlReq As New XMLHTTP60 Dim htm As HTMLDocument
Set xmlReq = New XMLHTTP60 Set htm = New HTMLDocument
Dim i As Long
Dim firstTextSite As String Dim lastTextSite As String Dim ticker As String
Хотел попробовать получать финансовые данные с сайта https://finviz.com/ в зависимости от введенного в некоторой ячейке тикера (в данном случае ячейка "B3" из листа "CompanyInfo" книги "VBA Lessons.xlsm").
Чтобы в макросе изменялся адрес страницы в зависимости от введенного в ячейке нового тикера, я решил разбить ссылку на следующие части: "https://finviz.com/quote.ashx?t=" & ticker & "&p=d". При этом переменную ticker прировнял к Workbooks("VBA Lessons.xlsm").Worksheets("CompanyInfo").Range("B3"). Однако, при такой склейке возникает ошибка: Object variable or With block variable not set. При том, что если прямо в макросе прописать ticker = "AAPL", то код срабатывает корректно и данные удается получить. Пока не получается найти решение данной проблемы.
Заранее благодарен всем, кто решит помочь. Код макроса приведу ниже:
Sub finInfoFinViz()
Dim xmlReq As New XMLHTTP60 Dim htm As HTMLDocument
Set xmlReq = New XMLHTTP60 Set htm = New HTMLDocument
Dim firstTextSite As String Dim lastTextSite As String Dim ticker As String
htm.body.innerHTML = xmlReq.responseText 'ниже попытка получения одного из параметров по акции AAPL Debug.Print htm.getElementsByClassName("snapshot-td2 w-[8%] ")(0).innerText