Excel VBA-查找0

Excel VBA-查找0,excel,vba,Excel,Vba,我一直在问一个可能很愚蠢的问题。“如何查找公式返回0(零)答案的单元格” 列A包含x行公式,将每行B列添加到D列 =SUM(B4:D4) 我正在尝试删除is找到此值的所有行 Columns("A:A").Select Selection.Find(What:="0", After:=ActiveCell, LookIn:=xlValues, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchC

我一直在问一个可能很愚蠢的问题。“如何查找公式返回0(零)答案的单元格” 列A包含x行公式,将每行B列添加到D列 =
SUM(B4:D4)
我正在尝试删除is找到此值的所有行

Columns("A:A").Select
Selection.Find(What:="0", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=True).Activate
strDelRow = Activecell.Row
Rows("" & StrDelRow &":" & StrDelRow).Select
Selection.Delete Shift:=xlUp
…但是-它可以找到公式中的零? 有人能帮忙吗

非常感谢,


Ian

将特殊值复制/粘贴到另一列,然后将其用于删除代码

是,它可以找到返回零的公式

看起来您正在选择整个列A并查找零, 尝试如下更改代码

Range("A1").Select 'Start at the top

Range("A:A").Find(What:="0", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
尝试一下:

Sub dural()
    Dim N As Long, NN As Long
    NN = Cells(Rows.Count, "A").End(xlUp).Row
    For N = NN To 1 Step -1
        If Cells(N, 1).Value = 0 Then
            Cells(N, 1).EntireRow.Delete
        End If
    Next
End Sub

+1这适用于OP的目的,但是
.Find
方法更有效,尤其是在一组大数据中,其中可能只有少数零值可删除。感谢chaps,上面的第一个建议没有找到值,但上面的代码找到了!!!!感谢帮助,尝试了此方法,但无法找到数据-有答复下面是这项工作-但感谢堆栈的帮助!没问题,只是想知道Workplace.calculationmode设置为什么?如果尚未设置为automatic,则将其设置为automatic可能会有所帮助。