vba把H列中空白單元格篩選出來,並刪除整行
时间: 2024-02-19 18:27:21 浏览: 223
你可以使用VBA中的AutoFilter函数来筛选空白单元格,然后删除整行。
下面是一个示例代码:
Sub DeleteBlankRows()
'声明变量
Dim ws As Worksheet
Dim lastRow As Long
Dim rng As Range
'设置工作表
Set ws = ActiveSheet
'获取最后一行
lastRow = ws.Cells(Rows.Count, "H").End(xlUp).Row
'筛选空白单元格
ws.Range("H1:H" & lastRow).AutoFilter Field:=1, Criteria1:=""
'删除整行
Set rng = ws.Range("H2:H" & lastRow).SpecialCells(xlCellTypeVisible).EntireRow
rng.Delete
'取消筛选
ws.AutoFilterMode = False
End Sub
这个代码将筛选出H列中的空白单元格,并删除整行。注意,这个代码将从第2行开始删除,因为第1行可能包含标题。
相关问题
VBA中删除第3列单元格是空值的单元行
在VBA(Visual Basic for Applications)中,如果你想删除Excel工作表中第三列(假设它是Column C,索引从0开始计数,所以实际上是第2列)所有空值的单元格所在的行,可以使用Application.Intersect
函数配合Delete
方法。这里有一个简单的例子:
Sub RemoveEmptyRowsInColumnC()
Dim rng As Range
' 设置起始范围为整个工作表
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1", "Z" & Rows.Count).SpecialCells(xlCellTypeVisible)
' 筛选出第三列(假设为Column C,即第2列)
With Application.Intersect(rng, Sheets("Sheet1").Range("C:C"))
If .Count > 0 Then
' 删除空值行
.AdvancedFilter Action:=xlFilterInPlace, Criteria1:="=""", CopyToRange:=Nothing
End If
End With
End Sub
这段代码首先创建了一个可见单元格的范围,然后筛选出Column C,如果这个范围内存在非空值,则会保留并清除其中的空值行。
VBA在G列找到空白單元格並刪除整行
以下是VBA代码,用于在G列找到空白单元格并删除整行:
Sub DeleteRowsWithEmptyCellsInColumnG()
Dim LastRow As Long
Dim i As Long
LastRow = ActiveSheet.Cells(Rows.Count, "G").End(xlUp).Row '找到最后一行
For i = LastRow To 1 Step -1 '从最后一行开始往上遍历
If Range("G" & i).Value = "" Then '如果G列为空
Rows(i).EntireRow.Delete '删除整行
End If
Next i
End Sub
请在Excel中按Alt + F11进入VBA编辑器,然后将代码复制粘贴到新模块中。最后,按F5运行代码即可。
相关推荐
















