For i = 2 To 20
If Cells(i, 1) = "" Then
Range(Cells(2, 1), Cells(i - 1, 6)).Select
Selection.Copy
Else
Exit For
End If
Next i
你这个代码当只要在条件为真之前有一个条件为假则会结束循环,由于你介绍的代码有限,请自行修改之,或介绍详细一点我帮你修改。
而且这一句有点逻辑上不合理:
Range(Cells(2, 1), Cells(i - 1, 6)).Select
当i为2时其引用的单元格范围相当于[A2:F1],软件会自动纠正为[A1:F2],相当于:
Range(Cells(i-1, 1), Cells(i , 6)).Select
或相当于:
Range(Cells(i-1, 1), Cells(2, 6)).Select
或相当于
Range(Cells(1, 1), Cells(i , 6)).Select
总之,这应该算得上是一个错误。
能说的再详细点吗?想复制什么
你要复制到那个地址
这段代码最终执行Copy.所以也许看上去没有反应。