Excel VBA查找不适用

Excel VBA查找不适用,vba,excel,Vba,Excel,我有一个工作表,其中的公式在特定条件下返回=NA()。使用VBA,我希望找到#N/A,但我无法调整 我试过What:=CVErr(xlErrNA),What:=xlErrNA,也试过What:=“#N/A”,但都没用 另一个困难是,我必须考虑荷兰语,所以What:=“#N/A”可能连荷兰语都不行 注意。我问这个问题是出于好奇,因为我还没有在网上找到一种方法。 此时,我正在计算哪些单元格包含=NA()这里的问题是,您正在寻找“#N/A”作为单元格的值,而它不是值,它是一个错误指示器,因此,如果您试

我有一个工作表,其中的公式在特定条件下返回
=NA()
。使用VBA,我希望找到#N/A,但我无法调整

我试过
What:=CVErr(xlErrNA)
What:=xlErrNA
,也试过
What:=“#N/A”
,但都没用

另一个困难是,我必须考虑荷兰语,所以
What:=“#N/A”
可能连荷兰语都不行

注意。我问这个问题是出于好奇,因为我还没有在网上找到一种方法。
此时,我正在计算哪些单元格包含
=NA()

这里的问题是,您正在寻找“#N/A”作为单元格的值,而它不是值,它是一个错误指示器,因此,如果您试图找到一个出现错误的单元格,则必须使用如下内容:

If WorksheetFunction.IfError("Put here a loop to read the cells;"Error")="Error" then

"Write what you desire for cells with error"

end if

这里的问题是,您正在寻找“#N/A”作为单元格的值,而它不是值,而是一个错误指示器,因此,如果您试图查找出现错误的单元格,您必须使用以下内容:

If WorksheetFunction.IfError("Put here a loop to read the cells;"Error")="Error" then

"Write what you desire for cells with error"

end if

您正在查看单元格公式。尝试查找单元格值,然后我可以使用字符串“#N/A”作为
What
参数:

lastrow = .Cells.Find(What:="#N/A", _
            After:=.Range("A1"), _
            Lookat:=xlPart, _
            LookIn:=xlValues, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlPrevious, _
            MatchCase:=False).Row

您正在查看单元格公式。尝试查找单元格值,然后我可以使用字符串“#N/A”作为
What
参数:

lastrow = .Cells.Find(What:="#N/A", _
            After:=.Range("A1"), _
            Lookat:=xlPart, _
            LookIn:=xlValues, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlPrevious, _
            MatchCase:=False).Row

请尝试下面的代码, 您应该使用循环来读取错误

子测试()


End Sub

请尝试以下代码, 您应该使用循环来读取错误

子测试()


结束Sub

嗨,我有另一个解决方案, 您已将这些公式值作为文本和值粘贴到其他列中

然后使用替换代码

请尝试下面的代码

Sub Tst()

    Columns("C:C").Select
    Selection.Copy
    Range("D1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Selection.Replace What:="#N/A", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

End Sub

列C包含公式值(错误)。

嗨,我有另一个解决方案, 您已将这些公式值作为文本和值粘贴到其他列中

然后使用替换代码

请尝试下面的代码

Sub Tst()

    Columns("C:C").Select
    Selection.Copy
    Range("D1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Selection.Replace What:="#N/A", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

End Sub

列C包含公式值(错误)。

在范围内循环很慢,这就是为什么我想用
find
来代替。在范围内循环很慢,这就是为什么我想用
find
来代替。我想用某种
Range.SpecialCells()
调用就可以了,但这不是我脑子里想出来的。也许看看这条路。我想使用某种
Range.SpecialCells()
调用会对你有帮助,但我不会马上想到这一点。也许看看那条路,这似乎行得通。不过,我可能必须获得正确的荷兰语文本。@GUIJunkie如果您需要它同时适用于荷兰语和英语,也可以进行一些调整。如果您有任何问题,请告诉我:)这似乎有效。不过,我可能必须获得正确的荷兰语文本。@GUIJunkie如果您需要它同时适用于荷兰语和英语,也可以进行一些调整。如果您有任何问题,请告诉我:)非常感谢。我浪费了一个小时,然后我得到了。非常感谢。我失去了一个小时,然后我得到了它。