繁体   English   中英

检查#N / A单元格范围内的空单元格

[英]Check for empty cell in a range of #N/A cells

我正在寻找一个宏来查找包含两个条件之一的行(在第二列中):“”或“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无法正常工作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

工作表#N / A

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

与您的情况有关,应使用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

希望这会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM