如果某个范围内的单元格全部为空白,我将尝试删除整行。
例如,对于范围B6-H10,如果B6-H6中的值为空白,则删除第6行。值得注意的是,将在整个范围内填充A列。
目前,正在返回以下错误:
“无法在重叠的部分上使用该命令”
我认为此错误是由于给定范围内的一个单元格中存在一个值而导致的。
当前代码可在以下位置找到:-
Public Sub DeleteERows()
Dim rng As Range
Set rng = Range("B6:H10")
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Select
rng.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
任何想法都值得赞赏。
答案 0 :(得分:2)
确实有多种方法,但是让我开始向您保证,您真正想做的是avoid .Select
。
相反,请尝试:
Option Explicit
Sub DelRows()
Dim X As Long
With ThisWorkbook.Sheets("Sheet1") '<-- Your sheetname goes here
For X = 10 To 6 Step -1
If Application.WorksheetFunction.CountA(.Range(.Cells(X, 2), .Cells(X, 8))) = 0 Then
.Rows(X).EntireRow.Delete
End If
Next X
End With
End Sub