我的宏没有选择值“#N / A”来清除内容

时间:2017-02-17 10:02:04

标签: excel vba excel-vba

所以我有一系列从A列到J的数据(行可以变化)。我需要我的宏做的是选择行a中的单元格值是IGNORE或#N / A并清除整行的内容。之后我让VBA删除所有空白行。我遇到的问题是VBA不想拿起“#N / A”值并清除内容 - 如果我把它留下来,它只是我想要的只有IGNORE。

请有人可以协助 - 我认为这可能与N / A没有被接收为文本有关吗?

谢谢。

Dim end_range As Double
Dim n As Double

'Set the range in which to search for Ignore

Sheets("Submit").Select
Range("A1").End(xlDown).Select
end_range = ActiveCell.Row

'Store the values of in a range
ReDim storeval(end_range)

For n = 1 To end_range
    storeval(n) = Range(Cells(n, 1), Cells(n, 1)).Value
    Range(Cells(n, 2), Cells(n, 2)).Value = storeval(n)
Next n

'Delete the entirerow if the value contains ignore or N/A
For n = 1 To end_range
    If storeval(n) = "IGNORE" Or storeval(n) = "#N/A" Then
    Range("A" & n).EntireRow.ClearContents
    End If
Next n

Sheets("Submit").Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

2 个答案:

答案 0 :(得分:3)

如果您在单元格中使用.jp-sleek.jp-video, .jp-sleek.jp-audio.jp-state-no-volume-support { .hideElement(~'.jp-repeat', 400px); &:not(.jp-state-full-screen){ /* take the not part out and put it as a block */ .hideElement(~'.jp-title-container', 530px); } .hideElement(~'.jp-download', 580px); } .jp-sleek.jp-audio:not(.jp-state-no-volume-support) { .hideElement(~'.jp-full-screen', 400px); .hideElement(~'.jp-repeat', 450px); &:not(.jp-state-full-screen) { /* take the not part out and put it as a block */ .hideElement(~'.jp-title-container', 580px); } .hideElement(~'.jp-download', 630px); } ,则您看到的=NA()只是错误对象的文本表示形式。 因此,您需要测试是否:{/ p>,而不是使用#N/A

  • 这是一个错误,使用storeval(n) = "#N/A"
  • 使用IsError
  • 是NA错误

这是一个小函数,它会给你真实的是单元格是NA而假如果它不是NA:

CVErr(xlErrNA)

然后通过Function IsNa(value) If Not IsError(value) Then IsNa = False ElseIf value = CVErr(xlErrNA) Then IsNa = True Else IsNa = False End If End Function

调用它

答案 1 :(得分:2)

要发现"#N/A",您需要查找单元格的值CVErr(xlErrNA)

您可能还想将IfOr切换为Select Case

For n = 1 To end_range
    Select Case storeval(n)
        Case "IGNORE", CVErr(xlErrNA)
            Range("A" & n).EntireRow.ClearContents
    End Select
Next n