我正在尝试将一张纸上多个表中的数据合并为一个综合表,其中每个单独表中的每一列均按“ DATE”列进行排序。如何使用VBA自动删除任何不包含单词“ DATE”或数字“ 1-31”的行?
我对VBA代码完全陌生。这是我的工作任务。我已经进行了大量谷歌搜索,但是无法找到符合我需要的代码。
答案 0 :(得分:0)
我会做这样的事情。假设要检查的数据在Column A and B
中,这将循环遍历并清除符合条件的单元格内容,然后映射空行以一次性删除所有内容。
Sub DelRows()
Dim ws As Worksheet
Dim delRange As Range
Dim lrow As Long, i As Long
Set ws = ActiveSheet
With ws
lrow = .Range("A" & .Rows.Count).End(xlUp).Row
'--> Delete All rows where Cell A and Cell B are empty
For i = 2 To lrow
If .Range("A" & i).value = "DATE" Or .Range("B" & i).value = "1-31" Then
.Range("A" & i).value = ""
.Range("B" & i).value = ""
End If
If Len(Trim(.Range("A" & i).value)) = 0 Or Len(Trim(.Range("B" & i).value)) = 0 Then
If delRange Is Nothing Then
Set delRange = .Rows(i)
Else
Set delRange = Union(delRange, .Rows(i))
End If
End If
Next i
If Not delRange Is Nothing Then delRange.Delete
Set delRange = Nothing
End Sub