我有一些带有一些工作表的excel文件。我需要使用数据复制所有单元格并将其复制到名为“所有数据”的工作表中的另一个Excel文档。然后我需要检查列H中的值是否为空或“0”我需要删除此值所在的所有行。我怎么能这样做?
这是我的代码从文件中获取数据,但我不确定我是否仅使用数据(并且没有空单元格)
Windows("Book1").Activate
Sheets(1).Cells.Select
Selection.Copy
答案 0 :(得分:1)
试试这个。
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
答案 1 :(得分:0)
这会将数据复制到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