【问题标题】:Check for empty cell in a range of #N/A cells检查 #N/A 单元格范围内的空单元格
【发布时间】:2016-03-06 18:24:37
【问题描述】:

我正在寻找一个宏来查找包含以下两个条件之一的行(在 twho 列中):“”或“Productivité”。 在找到包含这些单元格的第一行后,我正在尝试循环向下移动这一行。如果下一个单元格不包含“”或“productivité”,我必须调整我的范围以添加一行。

这就是问题所在。当我测试 Do While Not Range(strDépartPlage).Value Is Nothing And Range(strDépartPlage).Offset(, -1).Value <> "productivité" 时,由于第一个条件 Do While Not Range(strDépartPlage).Value Is Nothing 它无法正常工作。这是因为单元格包含#N/A。我该如何处理?

Dim strFirstCelVideOuProd As String
Dim rng1erCelVide As Range
Dim rng1erCelProd As Range

Set rng1erCelVide = Range("E3:E60").Find("", Range("E3"))                  
Set rng1erCelProd = Range("D3:D60").Find("productivité", Range("D3"))

If rng1erCelVide.Row < rng1erCelProd.Row Then
     strFirstCelVideOuProd = rng1erCelVide.Address(False, False)
ElseIf rng1erCelVide.Row > rng1erCelProd.Row Then
     strFirstCelVideOuProd = rng1erCelProd.Address(False, False)
End If

Dim strDépartPlage As String
count = 0
strDépartPlage = Range(strFirstCelVideOuProd).Offset(1, 0).Address(False, False)


Do While Not Range(strDépartPlage).Value Is Nothing And Range(strDépartPlage).Offset(, -1).Value <> "productivité"
count = count + 1
strDépartPlage = Range(strDépartPlage).Resize(count, 0).Address(False, False)
MsgBox strDépartPlage

Loop

worksheet #N/A

换句话说,我试图提取空白单元格和包含“Productivité”的单元格旁边的单元格之间的范围地址,以及包含“Productivité”的单元格旁边的单元格之间的范围地址。 An explanation

【问题讨论】:

    标签: excel do-while vba


    【解决方案1】:

    根据您的情况,您应该使用 Excel Application.WorksheetFunction.IsNA() 函数添加对“N/A”的检查,并从公式中排除这些单元格,例如:

    Do While Not Range(strDépartPlage).Value Is Nothing And Not Application.WorksheetFunction.IsNA(strDépartPlage) And Range(strDépartPlage).Offset(, -1).Value <> "productivité"
    count = count + 1
    strDépartPlage = Range(strDépartPlage).Resize(count, 0).Address(False, False)
    MsgBox strDépartPlage
    Loop
    

    希望这会有所帮助。

    【讨论】:

    • 其实第一个条件会产生错误:Range(strDépartPlage).Value = Error2042
    • 然后您可以删除导致错误的附加条件。给出的答案与您的问题标题中反映的主要问题相对应,因此如果它解决了该主要问题,请将其标记为已接受(检查#N/A#)。如果您有其他问题/疑问,请单独发布。谢谢和问候,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多