执行按钮(宏)两次时出错

时间:2015-10-02 14:34:03

标签: excel vba excel-vba

我写了一个宏来比较两个不同表中的两个表。当它在第二张纸中找到一条无法在第一张纸上找到的线时,它就会将其划掉。我用一个按钮链接了这个宏。我现在的问题是,当我点击按钮一次它工作。但是,如果我点击两次(例如错误),它会删除所有行。有人能帮助我吗?

lr1 = Worksheets("Analyse de risque").Range("B" & Worksheets("Analyse de risque").Rows.Count).End(xlUp).Row
lr2 = Worksheets("Plan Traitement Risque").Range("B" & Worksheets("Plan Traitement Risque").Rows.Count).End(xlUp).Row

    'Worksheets("Plan Traitement Risque").Range("B6:B" & lr2).Font.Strikethrough = True

With ThisWorkbook.Sheets("Plan Traitement Risque")
    For i = 6 To lr2 Step 1
    foundTrue = False
        For j = 6 To lr1 Step 1

            If Sheets("Plan Traitement Risque").Cells(i, 2).Value = Sheets("Analyse de risque").Cells(j, 2).Value Then
                foundTrue = True
                Worksheets("Analyse de risque").Range("B" & j).Font.Strikethrough = False

                Exit For
            End If

        Next j

        If foundTrue = False Then
            'Worksheets("Plan Traitement Risque").Range("B" & i).Font.Strikethrough = True
Cells(i, 3).Select
     ActiveCell.Value = "=VLOOKUP(""" & Cells(i, 2).Value & """,'Scénarios de menace'!$B$4:$N$698,2,FALSE)"
     Cells(i, 4).Select
     Cells(i, 4).Value = "=VLOOKUP(""" & Cells(i, 2).Value & """,'Scénarios de menace'!$B$4:$N$698,13,FALSE)"

     Cells(i, 11).Select
     Cells(i, 11).Value = "=VLOOKUP(""" & Cells(i, 2).Value & """,'Scénarios de menace'!$B$4:$N$698,9,FALSE)"

     Cells(i, 12).Select
     Cells(i, 12).Value = "=VLOOKUP(""" & Cells(i, 2).Value & """,'Scénarios de menace'!$B$4:$N$698,10,FALSE)"

     Cells(i, 14).Select
     Cells(i, 14).Formula = "=VLOOKUP(""" & Cells(i, 2).Formula & """,'Scénarios de menace'!$B$4:$N$698,12,FALSE)"


     .Range("B" & i).Font.Strikethrough = True
      .Range("C" & i).Font.Strikethrough = True
     .Range("D" & i).Font.Strikethrough = True
    .Range("E" & i).Font.Strikethrough = True
     .Range("F" & i).Font.Strikethrough = True
     .Range("G" & i).Font.Strikethrough = True
     .Range("H" & i).Font.Strikethrough = True
     .Range("I" & i).Font.Strikethrough = True
      .Range("J" & i).Font.Strikethrough = True
     .Range("K" & i).Font.Strikethrough = True
     .Range("L" & i).Font.Strikethrough = True
     .Range("M" & i).Font.Strikethrough = True
     .Range("N" & i).Font.Strikethrough = True
     .Range("O" & i).Font.Strikethrough = True
      .Range("P" & i).Font.Strikethrough = True
     .Range("Q" & i).Font.Strikethrough = True
     .Range("S" & i).Font.Strikethrough = True
     Range("T" & i).Font.Strikethrough = True
     .Range("U" & i).Font.Strikethrough = True
     .Range("V" & i).Font.Strikethrough = True
    .Range("W" & i).Font.Strikethrough = True
     .Range("X" & i).Font.Strikethrough = True
     .Range("Y" & i).Font.Strikethrough = True
        End If

    Next i
End With

0 个答案:

没有答案