2015-12-02 47 views
0

請參閱下面的代碼。我正在編寫excel中不同尋常的貨幣對的列表,我希望用VBA來獲取這些數據。我只想將值本身插入到單元格中。有人知道我在哪裏錯了嗎?我得到'運行時錯誤'91':對象變量或塊變量未設置'。我對VBA相對比較陌生,並且對此有很多想法。從HTML表格中刮取單個值並使用VBA插入到Excel單元中

Sub ie_open() 
    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim TxtRng As Range 
    Dim ie As Object 

    Set ie = CreateObject("INTERNETEXPLORER.APPLICATION") 
    ie.NAVIGATE "http://www.barchart.com/quotes/forex/British_Pound/Costa_Rican_Colon/%5EGBPCRC" 
    ie.Visible = True 

    While ie.ReadyState <> 4 
     DoEvents 
    Wend 

    Set wb = ActiveWorkbook 
    Set ws = wb.Sheets("Test Sheet") 
    Set TxtRng = ws.Range("A1") 
    TxtRng.Value = ie.document.getelementsbyname("divQuotePage").Item.innertext 

End Sub 

這是我試圖刮掉數據:

感謝。

+0

你介意分享哪一行導致該錯誤消息?或者我們應該嘗試猜測?猜測:你沒有Sheet19。那會導致那個消息。 –

+0

謝謝,我很快修改了這個。它現在顯示'運行時錯誤'91':對象變量或塊變量未設置'。我相信這個問題與html元素的引用有關。 – Pineapple

+0

發生錯誤時,如果選擇「調試」選項,則應在代碼中突出顯示特定行。這將是導致錯誤的線路。你需要清楚地在你的問題 –

回答

2

我不是在網絡抓取時完成的,但那種錯誤往往意味着你所尋找的不存在。特別是,我沒有在您提供的屏幕截圖中看到divQuotePage

但是如果你想報價(793.19),你可以這樣做:

​​
+0

完美 - 謝謝! – Pineapple

0

這將工作。

次測試() 昏暗的IE作爲對象

Set IE = CreateObject("InternetExplorer.Application") 
With IE 
    .Visible = True 
    .Navigate "http://www.barchart.com/quotes/forex/British_Pound/Costa_Rican_Colon/%5EGBPCRC" ' should work for any URL 
    Do Until .ReadyState = 4: DoEvents: Loop 

     x = .document.body.innertext 
     y = InStr(1, x, "Last Price") 
     Z = Mid(x, y, 19) 

     Range("A1").Value = Trim(Z) 

     .Quit 
    End With 

末次

相關問題