excel - VBA试图遍历一列并删除整行,如果它们包含一个值
问题描述
我不太擅长循环。
我正在尝试使用 VBA 循环遍历列以查找任何值,然后如果找不到任何值,则删除整行(这本质上是一种删除我已标记(或未标记)的数据行的方法这个案例))。
我尝试过各种各样的事情。我最近的尝试如下,但它只是删除每一行,无论该单元格是否有值。有什么建议么?
Dim i as Long
For i = 1 To 50
If Cells(i, 1).Value = "" Then
Selection.EntireRow.Delete
Else
i = i + 1
End If
Next i
End Sub
解决方案
这里有几个问题:
在循环中删除行时向后工作,如果向前移动,您的行号会随着您的删除而改变。
接下来不需要增加变量“i”我已经这样做了
使用 Worksheet 对象删除行而不是选择
我会这样重写:
Sub delete()
Dim i As Long
For i = 50 To 1 Step -1
If Cells(i, 1).Value = "" Then
Worksheets("Sheet1").Rows(i).EntireRow.delete
End If
Next i
End Sub
推荐阅读
- python - ValueError:未能找到可以处理输入的数据适配器:
, 请帮我解决这个问题
X_train = np.asarray(X_train) y_train = np.asarray(y_train) X_test = np.asarray(X_test) y_test = np.asarray(y
- python - Django中的条件重定向
- javascript - 更改不透明度,然后在向上滑动时隐藏(CSS / JS)
- xcode - SwiftUI iBeacon 检测接近度并显示不同的 Storyboard 或视图
- sql - BigQuery SQL 将两个日期值之间的差异保持为 7 天
- html - CSS - 样式输入类型范围
- spring - 无法在 Spring Boot 中的 Configuration 单元测试中模拟
- json - Corda 查询抛出“com.fasterxml.jackson.databind.JsonMappingException:对象不是声明类的实例”
- ios - iOS设备连接到Airpods swift ios时如何播放音频
- c++ - 手动停止openCV中的视频