2015-08-13 201 views
1

我想在VBA中做一个vlookup,并且我得到一个Application-defined or object-defined error运行时错误。VBA:在Vlookup中使用Dims

我重写了整数和字符串,而不是Dims行,它工作正常,但我需要使其变化。

'Throws Error 
rc = -6 
tempwb = "Supplier Master - Location - 08-13-15.xls" 
acol = 1 
zcol = 14 
wRange.FormulaR1C1 = "=VLOOKUP(RC[rc],'[" & tempwb & "]Sheet1'!C" & acol & ":C" & zcol & "," & ((zcol - acol) + 1) & ",FALSE)" 


'Works 
wRange.FormulaR1C1 = "=Vlookup(RC[-6],'[Supplier Master - Location - 08-13-15.xls]Sheet1'!C1:C14,14,FALSE)" 
+2

' “= VLOOKUP(RC [” &RC&“] ...' – Bond

回答

4

尝试改变

wRange.FormulaR1C1 = "=VLOOKUP(RC[rc], 

wRange.FormulaR1C1 = "=VLOOKUP(RC[" & rc & "], 

完成?

+0

噢,我的上帝...谢谢我很伤心,我错过了。 – Tawm

-1

尝试更改您的字符串,以便包含rc变量。

wRange.FormulaR1C1 = "=VLOOKUP(RC[" &rc&"],'[" 
0

这是很容易做这个诊断:

Dim sFormula As String 

sFormula = "=VLOOKUP(RC[rc],'[" & tempwb & "]Sheet1'!C" & acol & ":C" & zcol & "," & ((zcol - acol) + 1) & ",FALSE)" 

Debug.Print sFormula 

wRange.FormulaR1C1 = sFormula