2016-10-04 91 views
0

我試圖從報告工具中獲取缺陷和狀態。vba代碼中的運行時91&1004錯誤

我得到的第一件事:

Runtime error : 91 object variable or with block variable not set

然後,如果我調試它,我收到以下錯誤:

Runtime error 1004: application defined or object defined error

下面的代碼:

Sheet2.Rows(i, 1).Value = DefectNo

以下是完整的代碼:

Option Explicit 
Sub Defects_Click() 
    Dim IE As New InternetExplorer 
    IE.Visible = True 
    IE.navigate "Reporting tool URL" 
    Do 
     DoEvents 
    Loop Until IE.readyState = READYSTATE_COMPLETE 
    Dim doc As HTMLDocument 
    Set doc = IE.document 
    Dim status As Variant 
    Dim i As Integer 
    Dim DefectNo As Variant 
    For i = 1 To 100 
     DefectNo = doc.getElementsByClassName("cn_formattedid0")(i).innerText 
     status = doc.getElementsByClassName("cn_state0")(i).innerText 
     Sheet2.Activate 
     Sheet2.Rows(i, 1).Value = DefectNo 
     Sheet2.Rows(i, 2).Value = status 
    Next i 
    IE.Quit 
    Set doc = Nothing 
End Sub 
+2

Sheet2.Rows(I,2)。價值====>不Sheet2.Cells(I,2) 。值 – Pierre

+1

你的問題看起來像你試圖將一個值應用到整個行。您可能想要爲單元格指定一個值。 –

回答

0

嘗試改變這一點,

Sheet2.Rows(i, 1).Value = DefectNo 
Sheet2.Rows(i, 2).Value = status 

於此,

Sheet2.Cells(i, 1).Value = DefectNo 
Sheet2.Cells(i, 2).Value = status 
+0

感謝您的回覆。運行時錯誤1004:已解決應用程序定義或對象定義的錯誤。但是得到運行時錯誤:91對象變量或塊變量未設置錯誤。這沒有解決。 :( – Loga