我正在寻找一个宏来查找包含两个标准之一的行(在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
换句话说,我正在尝试提取空白单元格和包含“Productivité”的单元格旁边的单元格的范围地址,以及包含“Productivité”的单元格旁边的单元格范围。 An explanation
答案 0 :(得分:0)
与您的案例相关,您应该使用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
希望这可能会有所帮助。