-1

我有一个带有一些工作表的 excel 文件。我需要复制所有包含数据的单元格,并将其复制到工作表中名为“所有数据”的另一个 excel 文档中。然后我需要检查 H 列中的值是否为空或“0”我需要删除该值所在的所有行。我怎样才能做到这一点?

这是我从文件中获取数据的代码,但我不确定我是否只有数据(并且没有空单元格)

 Windows("Book1").Activate
 Sheets(1).Cells.Select
 Selection.Copy
4

2 回答 2

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
于 2012-12-12T11:53:21.863 回答
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
于 2012-12-12T13:36:08.710 回答