【发布时间】:2019-03-05 14:40:00
【问题描述】:
我正在尝试删除选择范围并将其余单元格向上移动,但一直卡在以下错误中
运行时错误“1004”:
无法调试“Range 类的删除方法失败”
我看不出我到底做错了什么,希望得到任何指点。
Mainfile = "Travelex Order.xls"
SecFile = "EURUSD.xls"
SheetOne = "Bulk Order"
SheetTwo = "EURUSD Breakdown"
SheetThree = "PDF Gen2"
SheetFour = "EURUSD"
SheetFive = "Rate Check"
Workbooks(Mainfile).Worksheets(SheetOne).Range("A23:C96").Copy
Workbooks(Mainfile).Worksheets(SheetFive).Range("A2").PasteSpecial Paste:=xlPasteValues
Count = 2
Do
If Workbooks(Mainfile).Worksheets(SheetFive).Range("A" & Count).Value <> "" And Workbooks(Mainfile).Worksheets(SheetFive).Range("B" & Count).Value = "" And Workbooks(Mainfile).Worksheets(SheetFive).Range("C" & Count).Value = "" Then
Workbooks(Mainfile).Worksheets(SheetFive).Range("A" & Count & ":C" & Count).Delete Shift:=xlToUp
End If
Count = Count + 1
Loop Until Count > 80
我尝试进行以下更改,但没有成功
Workbooks(Mainfile).Worksheets(SheetFive).Range("A" & Count & ":C" & Count).Delete Shift:=xlToUp
到
Range("A" & Count & ":C" & Count).Delete Shift:=xlToUp
我总是在该行收到错误。
【问题讨论】:
-
试试
Range(Cells(Count, 1), Cells(Count, 3))(这更容易阅读)。您还应该限定这些范围。我也认为xlToUp看起来很奇怪。你确定那是正确的运营商?我认为应该是xlShiftUp -
上移是默认设置。您可能可以通过删除
Shift:= ...部分而侥幸获得删除行 -
这是
xlUp而不是xlToUp。 -
Option Explicit在这些情况下是你的朋友。这应该在您第一次尝试运行代码时突出显示该错误。