【发布时间】:2016-10-28 17:36:21
【问题描述】:
我昨天要求similar question 填充特定列列表中的一系列单元格。我的代码的这方面运行良好,但现在我正在尝试创建一个清晰的宏来删除插入的行。
所有新插入的行都将在 N 列中有空白单元格,所以我只是尝试搜索 N 列中的所有单元格,找到空白,然后删除 N 和 Y 列之间的行。这就是我所拥有的很远,但是当我运行它时它什么也没做?
非常感谢任何帮助!
Sub Clear_PCOTCS()
Dim myLastRow As Long
Dim myRow As Long
Application.ScreenUpdating = False
myLastRow = Cells(Rows.Count, "N").End(xlUp).Row
For myRow = myLastRow To 1 Step -1
If Len(Cells(myRow, "N")) = 1 And Cells(myRow, "N") = "" Then
Range(Cells(myRow + 1, "N"), Cells(myRow + 1, "Y")).Delete Shift:=xlDown 'CopyOrigin:=xlFormatFromLeftOrAbove
End If
Next myRow
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
“N”单元格中的值的长度不能为 1 并且为空。你在那一行测试什么?
-
谢谢,我完全错过了。我已将该行代码更新为 If Cells(myRow, "N") = "" Then 但现在我在它下面的下一行出现错误
-
Shift:=xlDown可能是您遇到错误的原因,那段代码在那里没有做任何事情。 -
你在那条线上收到什么错误信息?
-
所以,我有点模糊。为什么要测试myRow,然后删除范围myRow+1?