Sub fill()
Dim QTY, QTYJ As Integer
Range("h1") = "供应商"
Range("i1") = "厂家"
Range("j1") = "折扣"
For QTY = 2 To UsedRange.Rows.Count
With Sheets("折扣表")
For QTYJ = 1 To .UsedRange.Rows.Count
If .Cells(QTYJ, "D") Like Cells(QTY, "C") Then
Cells(QTY, "h") = .Cells(QTYJ, "f")
Cells(QTY, "i") = .Cells(QTYJ, "j")
Cells(QTY, "j") = .Cells(QTYJ, "k")
End If
Next QTYJ
End With
Next QTY
End Sub
这是我的语句,语句是从别的表格里面复制过来的
相应的表格名称和 序列进行了修改。咋不能运行呢
第1个回答 2013-07-11
下标越界通常是引用定义不明确,例如,在你的语句里面第一个UsedRange就没有明确引用哪个表格,Sheets(“折扣表”)也没有指定是哪个工作表。不能明确指定对象的话会有默认的对象,如果跟你想要指定的对象不一致,很容易出现下标越界。
建议单步执行,看看是哪个引用(对象)越界,定义清楚是哪个工作薄,哪个工作表,门牌号先保证准确。本回答被提问者采纳
建议单步执行,看看是哪个引用(对象)越界,定义清楚是哪个工作薄,哪个工作表,门牌号先保证准确。本回答被提问者采纳