Visual Basic:错误9

时间:2015-07-31 14:44:16

标签: vba subscript

Private Sub CommandButton8_Click()

Dim x As Long
Dim y As Long
Dim colindexval As Double
Dim resizeval As Double
x = Sheet1.Cells(20,21).value
y = sheet1.cells(21,21).value

resizeval = Sheet1.Cells(19, 12).Value
colindexval = Sheet1.Cells(16, 12).Value
Sheet9.Range(x, y).Resize(resizeval, 1).Formula = "=VLOOKUP(Sheet1!B16,Sheet2!" _
& Sheets("Sheet2").Range("A12").CurrentRegion.Address & ",Sheet1!L$29,FALSE)"

End Sub

运行此显示:

  

错误9:下标超出范围。

我不熟悉这个错误,我想知道是否有人可以指出我做错了什么?

1 个答案:

答案 0 :(得分:0)

由于您没有为xy设置值,因此默认为0。

Range(x, y)评估为Range(0, 0),这当然是Range的无效索引。

这就是为什么你得到一个超出范围错误的下标。

我认为你的意思是用.Range("$A$1").Offset(x, y)代替.Range(x, y)