我有一个带有一些工作表的 excel 文件。我需要复制所有包含数据的单元格,并将其复制到工作表中名为“所有数据”的另一个 excel 文档中。然后我需要检查 H 列中的值是否为空或“0”我需要删除该值所在的所有行。我怎样才能做到这一点?
这是我从文件中获取数据的代码,但我不确定我是否只有数据(并且没有空单元格)
Windows("Book1").Activate
Sheets(1).Cells.Select
Selection.Copy
尝试这个。
Dim n as integer
Dim n1 as integer
n = 0
n1 = 0
While Sheet("Book1").Range("A1").Offset(n, 0) <> ""
If Sheet("Book1").Range("H1").Offset(n, 0) <> null then
If Sheet("Book1").Range("H1").Offset(n, 0) <> 0 then
Sheet("Book1").Range("A1:Z1").Offset(n, 0).Copy
Sheet("All Data").Range("A1:Z1").Offset(n1, 0).Paste
n1 = n1 + 1
End If
End If
n = n + 1
Wend
这会将数据复制到 Sheet2,将其更改为您的其他工作表/区域。然后它将过滤数据,删除可见行(基于条件的数据),然后删除过滤器:
Sheet1.Range("A1").CurrentRegion.Copy Sheet2.Range("A1")
With Sheet2
.Range("A1").CurrentRegion.AutoFilter Field:=8, Criteria1:=0, Operator:=xlOr, Criteria2:="Null"
.AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows.Count - 1) _
.SpecialCells(xlCellTypeVisible).EntireRow.Delete Shift:=xlUp
.AutoFilterMode = False
End With