2016-06-02 2 views
-1

Я пробовал этот код, и он не работает должным образом.
Он должен получить таблицу (номер 20 - Заказать книгу (XBT/EUR), продавая, правую). Однако я получаю сообщение об ошибке:Метод таблиц лома vba

переменной объекта или переменная блока не установлен (Error 91)

Что я делаю неправильно?

Sub Kraken() 

    Dim IE As Object 
    Dim tbls, tbl, trs, tr, tds, td, r, c 

    Set IE = CreateObject("internetexplorer.application") 

    IE.navigate "https://www.kraken.com/charts" 
    Application.Wait Now + TimeSerial(0, 0, 2) 

    Set tbl = IE.document.getElementsByTagName("table")(17) 
    Set trs = tbl.getElementsByTagName("tr") 

    For r = 0 To trs.Length - 1 
     Set tds = trs(r).getElementsByTagName("td") 
     If tds.Length = 0 Then Set tds = trs(r).getElementsByTagName("th") 

     For c = 0 To tds.Length - 1 
      ActiveSheet.Range("B20").Offset(r, c).Value = tds(c).innerText 
     Next c 
    Next r 
IE.Quit 
Set IE = Nothing 
End Sub 
+0

Используйте таблицу '1' как' Set TBL = IE.document.getElementsByTagName ("таблица") (1) ' – Mrig

+0

о ничего себе, так что я просто должен введите от 1-2 и найдите таблицу? Благодаря! –

+0

Да, это работает спасибо! –

ответ

0

Вы получаете сообщение об ошибке, потому что IE.document.getElementsByTagName("table")(17) ничего не дает tbl.

Для Order Book (XBT/EUR) использования таблицы 1 как:

Set tbl = IE.document.getElementsByTagName("table")(1) 
Смежные вопросы