excel - 根据该行中的公式结果删除行
问题描述
我想根据该行中单元格的内容删除整行。
该单元格有一个公式,它解析为 1 或零。如果为 1,则应删除行。
下面的代码删除每一行,不管 AB 中有什么。
Sub Delete()
Dim FoundCell As AB
Set FoundCell = Worksheets("PM2CORRELATED").Range("AB4:AB1500").Find(what:=1)
Do Until FoundCell Is Nothing
FoundCell.EntireRow.Delete
Set FoundCell = Worksheets("PM2CORRELATED").Range("AB4:AB1500").FindNext
Loop
End Sub
解决方案
您可以过滤它们并删除结果,而不是一一删除行
Public Sub DeleteRows()
' Set target sheet
Dim targetSheet As Worksheet
Set targetSheet = ThisWorkbook.Worksheets("PM2CORRELATED")
' Set target range
Dim targetRange As Range
Set targetRange = targetSheet.Range("AA4:AA1500")
' Filter cells
targetRange.AutoFilter Field:=1, Criteria1:=1
' Delete the filtered rows
targetRange.Offset(1, 0).Resize(targetRange.Rows.Count - 1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
' Turn off autofilter
targetSheet.AutoFilterMode = False
If targetSheet.FilterMode = True Then
targetSheet.ShowAllData
End If
End Sub
推荐阅读
- python-3.x - Project Euler 10 的慢速编译
- python - 如何将 Numba 添加到代码中以加快进程?
- javascript - 为什么下面的代码在 JavaScript 中有效并且没有给出编译器错误
- sql - 将子关系映射到父关系的复杂递归调用(SQL/Pyspark)
- php - 如何运行 sass
- postgresql - AWS:如何将 rds 引擎类型从 Aurora 降级为 Postgres?
- node.js - 通过 Cloud Build 部署到 App Engine 时出错
- api - 如何针对 JSON 响应的子对象而不是 REST ASSURED 中的整个对象验证模式
- asp.net - 如果我们在 asp.net 项目中添加 .Net Core 包是否安全且没问题
- java - Hibernate ManyToMany 防止实体删除时删除关联