2016-08-18 138 views
0

編寫宏以運行跨列中每個單元格運行VLOOKUP的循環。我收到「運行時錯誤」424'Object required'錯誤,但無法確定主要問題。任何見解或幫助表示讚賞。運行時錯誤'424'所需的對象

兩個問題: *運行時錯誤'424'所需對象 *循環繼續通過數據的最後一個單元格,直到在停止之前打包或Excel限制爲止。使用.ActiveCell和.Value的點運算符不起作用。 enter image description here

Sub New_contact_info() 

serverName = Cells.Range("AS:AS") 
contactInfo = Application.WorksheetFunction.VLookup(serverName, Worksheets("All Active Assets").Range("A:C"), 3, False) 

Cells.Range("AM:AM") = contactInfo 

For Each cell In serverName 
If serverName <> "" Then 
serverName.ValueOffset(0, -5) = contactInfo 
End If 

Next cell 

End Sub 
+1

你確定它沒有前人的精力是這樣的:「如果細胞<>‘’那 – Vityata

+0

這條線現在已經很清楚,下一行拋出了同樣的錯誤,我已經現在嘗試「cell.Offset(0,5)= contactInfo」無效 – 1up

+1

只是一個建議 - 在代碼的頂部寫上「Option Explicit」,然後從頂部菜單執行「Debug」>「Compile」。顯示所有編譯錯誤。請參閱此處「Option Explicit」 - > http://www.excel-easy.com/vba/examples/option-explicit.html – Vityata

回答

0

你必須設置使用 「設置」 關鍵字的範圍SERVERNAME。 這給一試:

Sub New_contact_info() 
    dim serverName as Range 

    set serverName = Cells.Range("AS:AS") 
    contactInfo = Application.WorksheetFunction.VLookup(serverName, Worksheets("All Active Assets").Range("A:C"), 3, False) 

    Cells.Range("AM:AM").value = contactInfo 

    For Each cell In serverName 
    If serverName.value <> "" Then 
     serverName.Value.Offset(0, -5) = contactInfo 
    End If 

    Next cell 

End Sub 
相關問題