excel - 如何使用列值删除基于Excel工作表中的行
问题描述
我有 5 张不同的工作表。sheet3 和 sheet4 我想根据单列单元格值删除行。在表 3 中,如果 H2="#N/A" 和 H503="#N/A" 则我想删除基于 H 列单元格值的行,然后删除整行。在工作表 4 中,如果 B2="320857876",B3="32085678",B4="12133435" 我想根据 b 列单元格值删除行,则删除 B 列单元格值以 302 开头的整行。我想从“C”列中删除所有数据我的excel表是这样的
Sub Create()
Dim LastRow As Long
Dim i As Long
LastRow = Range("B10000").End(xlUp).Row
For i = LastRow To 1 Step -1
If Range("B" & i) = "#N/A" Then
Range("B" & i).EntireRow.Delete
End If
Next
End Sub
解决方案
您在那里有一些要求,并且您的代码相当轻,但就其中的#N/A
一部分而言,您不能只使用 value 方法测试该文本,这是为 range 对象返回的默认属性。
Sub Create()
Dim LastRow As Long, i As Long
LastRow = Range("B10000").End(xlUp).Row
For i = LastRow To 1 Step -1
If Range("B" & i).Text = "#N/A" Then
Range("B" & i).EntireRow.Delete
End If
Next
End Sub
...您需要使用.Text
它才能使其正常工作,或者If IsError(Range("B" & i)) Then
是另一种方法。
您的其余要求只是逻辑。您的其余代码相对健全,因此您只需要完成它即可。
我希望这会有所帮助。
推荐阅读
- python - 用于句子语音识别的拆分音频文件
- python - 在具有大量噪声的二进制图像上检测圆形形状
- angularjs - 如何将独立量角器自动化脚本存储库移动到 angularjs 项目存储库?
- php - 如何使用与 PHP str_replace 相同的字符串(字符)来打开和关闭标签?
- angular - 嵌套表单数组错误:找不到带有路径的控件:'module -> 0 -> view'
- amazon-s3 - Rabbitmq(AMQP) 到 s3 连接器
- android - 如何在 SQLite Android 中提交?
- postgresql - 如何在 CloudSQL 上创建只读 PostgreSQL 用户?
- selenium - 机器人框架 - 无法上传文件
- java - 如何在 Java 8(Scala)中将日期时间字符串转换为长(UNIX 纪元时间)