2015-11-24 154 views
0

嗨我想寫這個宏做一個vlookup,所以我沒有公式,不斷計算和放慢我的工作,但是我不斷得到一個運行時錯誤424:對象需要。運行時錯誤424 excel vba

Sub matchProgram() 

Dim Mrow As Long 
Dim Mcol As Long 

Table1 = Sh1.Range("A1:A20") 
Table2 = Sh2.Range("A1:B20") 

Mrow = Sh1.Range("B1").Row 
Mcol = Sh1.Range("B1").Column 

For Each cl In Table1 
    Sh1.Cells(Mrow, Mcol) = Application.WorksheetFunction.VLookup(cl, Table2, 2, False) 
    Mrow = Mrow + 1 
Next cl 

End Sub 

回答

1

您需要Set與對象變量:

Set Table1 = Sh1.Range("A1:A20") 
Set Table2 = Sh2.Range("A1:B20") 

(在技術上,Table2無論如何都會正常工作,因爲VLOOKUP將數組)

+0

感謝你對一個有效的方法,任何其他建議比較不涉及使用Excel公式的範圍? –

+0

這是一個完全獨立的問題! ;) – Rory