excel - VBA Excel根据列中的值删除行,如果为空则继续
问题描述
我对 VBA 非常陌生,我正在使用Tabel1
我的工作表上的一个表,该表具有不同范围的列和行。我需要根据列中的值删除行Af
。列中的单元格有值或为空。多亏了这个网站上的许多人,我以为我已经解决了,但是,如果整个列是空的,我会在代码的最后一部分出现错误myRange.Select
。我知道它来自哪里,没有什么可以选择的。但我不知道如何跳过它而不会出现更多错误。我已经搜索了这个网站,但似乎找不到任何有效的东西。下面是当列中有值时可以正常工作的代码。
Dim tbl As ListObject
Dim x As Long
Dim myRange As Range
Set tbl = ActiveSheet.ListObjects("Tabel1")
For x = 1 To tbl.Range.Rows.Count
If tbl.DataBodyRange(x, Range("Tabel1[Af]").Column) >= 1 Then
If myRange Is Nothing Then
Set myRange = tbl.ListRows(x).Range
Else
Set myRange = Union(myRange, tbl.ListRows(x).Range)
End If
End If
Next x
myRange.Select
Selection.Delete shift:=xlUp
谁能帮我跳过这一.select
部分?
解决方案
改变,
myRange.Select
Selection.Delete shift:=xlUp
... 至,
If not myRange Is Nothing Then _
myRange.Delete shift:=xlUp
推荐阅读
- .net-core - MassTransit 中的通用命令路由
- javascript - 如何在不和谐中进行机器人身份验证?
- angularjs - 控制器与 AngularJS 表单一样
- python-3.x - 不支持在 DynamicMap 中嵌套 DynamicMap
- java - 尝试使用 Spring Security 自定义登录失败
- javascript - 字符串转换为 JSON 数组
- java - 如何将数据从 listview 单选按钮保存到 SQLite?
- c# - 使用 iTextSharp 5.0.2.0 的 pdf 文件中的页码
- ios - 随着 iOS 13 的发布,“使用 Apple 登录”是强制性的吗
- php - fopen 为 php://stdin 返回空内容