我有一个包含5列(B到F)和可变数量的已填充行的表。 我想将最后3个填充的单元格复制到从第101行开始的同一列的固定范围内。
这是我正在使用的代码:
Dim WSPL As Worksheet
For i = 2 To 6
For j = 7 To 1 Step -1
If Not IsEmpty(WSPL.Cells(j, i).Value) Then
WSPL.Range(Cells(j - 2, i), Cells(j, i)).Copy Destination:=WSPL.Cells(101, i)
Exit For
End If
Next j
Next i
这是返回错误:
Run-time error: 1004
Method 'Range' of object'_Worksheet' failed
我上面代码的第5行。 这段代码有什么问题?
答案 0 :(得分:2)
问题在于这一行
WSPL.Range(Cells(j - 2, i), Cells(j, i)).Copy Destination:=WSPL.Cells(101, i)
您的单元格对象不是完全限定的
试试这个
With WSPL
.Range(.Cells(j - 2, i), .Cells(j, i)).Copy Destination:=.Cells(101, i)
End With
注意单元格之前的DOT?