excel - 检查列中的值,允许并非所有列都存在
问题描述
我正在尝试清理从在线数据库导出的原始数据。
最多可以有五列。如果一行中的所有单元格的值为 0,我想删除该行。
用户导出数据时,可以选择排除列,列可以任意排列。
例如,如果数据只包含可能的五列中的两列,我想只检查那两列是否为 0。
解决方案
可以做一个大循环查看每一行并查看该行中的所有 5 列是否为空白
Sub test()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("sheetname")
Dim LastRow As Integer
LastRow = sh.UsedRange.Rows.Count - 1
For i = 1 To LastRow
If (sh.Cells(i, 1).Value = "" And sh.Cells(i, 2).Value = "" And sh.Cells(i, 3).Value = "" And _
sh.Cells(i, 4).Value = "" And sh.Cells(i, 5).Value = "") Then
sh.Cells(i, 1).EntireRow.Delete
i = i - 1
Dim newLastRow As Integer
newLastRow = sh.UsedRange.Rows.Count - 1
If i = newLastRow Then
Exit For
End If
End If
Next i
MsgBox ("Done")
End Sub
推荐阅读
- python - 像 COCO 一样自动创建图像蒙版
- python - conv2D 中的填充
- sendkeys - 特殊键 Ctrl+A+DEL 在 BluePrism 中不起作用
- python - 在 PyTorch 中实现完全连接层的 dropout
- php - PHP MongoDB\..\ServerException 无法使用数据库“模型”发送“getMore”命令:套接字错误或超时
- unity3d - 既然不管理内存,Unity WebGL heap总是必然会崩溃?
- python - Pandas 如何对每一行中的连接字符串进行排序?
- macos - 如何验证音频数据是否有效?
- go - golang中通过接口{}的通用结构映射
- java - 为什么在eclipse中发生JNI错误?