一段时间以来,我一直在寻找这个问题的答案。我发现了许多很棒的资源,它们显示了如果指定列中的单元格为空时如何使用宏删除行,但是我找不到任何可以检查列范围并删除列的内容。如果该列范围内的所有单元格都为空,则为行(如果D1:F1完全为空,则删除第1行,但如果D2:F2范围内的E2中有数据,则不要删除该行)。
这是我一直试图弄乱的代码
In [97]: np.random.seed(0)
...: a = np.random.randint(1,9,(100))
In [98]: %timeit extend2D(a, m=10000)
...: %timeit extend2D_v2(a, m=10000)
...: %timeit extend2D_v3(a, m=10000)
10000 loops, best of 3: 51.3 µs per loop
10000 loops, best of 3: 19.6 µs per loop
100000 loops, best of 3: 12.6 µs per loop
我从此答案Excel VBA: Delete entire row if cell in column A is blank (Long Dataset)中找到了上面的代码
如果我尝试将代码修改为
Application.ScreenUpdating = False
Columns("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True
然后我收到一条错误消息,提示“运行时错误1004:无法在重叠的部分上使用该命令。”
答案 0 :(得分:0)
您必须做一个气泡来遍历各列,因为如果同一行中有不止一个单元格中有空白单元格,那么它将不起作用。