我不确定,但你可能会寻找这个
If ThisWorkbook.Names("ID").RefersToRange.Value = "0" Then
将 ThisWorkbook 替换为您喜欢的任何工作簿或工作表对象。
如果不是这样,请评论您要检查的内容是否为“0”,因为我不确定我是否理解正确。
编辑
现在,我知道发生了什么 - 你在这里遇到了这样的问题
如果表中的值满足条件,则 Vba 宏从表中复制行
并且在这里需要这样的代码
Dim rngFiltered as range
Rng.AdvancedFilter xlFilterCopy, Tabelle1.Range("CRITERIA"), rngFiltered, False
lst.InsertRowRange.Resize(Rng.Rows.Count).Value = rngFiltered.Value
其中“CRITERIA”是“G1:G2”等范围的名称,其中 G1="Title of Column D" G2=">0"
如果它始终是同一个单元格,我会编辑你的代码:
Dim rangeRow As Range
Dim rowCell As Range
Set Rng = Tabelle1.Range("A1:A50")
For Each rangeRow In Rng.Rows
Set rowCell = rangeRow.Cells(1, 2)
If rowCell.value = "0" Then
rangeRow.Delete
End If
Next rangeRow
或者如果您需要检查所有单元格
For Each rangeRow In Rng.Rows
For each rowCell in rangeRow
If rowCell.value = "0" Then
rangeRow.Delete
exit for
End If
next rowCell
Next rangeRow