![](/img/trans.png)
[英]How to check for empty cells in range if empty then check in selection VBA?
[英]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
换句话说,我试图提取空白单元格和包含“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.