Hirdetés

Új hozzászólás Aktív témák

  • poffsoft

    veterán

    válasz rtom #16445 üzenetére

    mert a select és a pastespecial parancsok újra meghívják a makrót (miközben már fut), mindig egy újabb ciklust indítva....

    Esetleg egy flaggal jelezhetnéd neki, hogy "mostnemkell":
    (Ez az én favágó megoldásom):

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Range("A1") = "s" Then Exit Sub
    If Range("L2") = "valami" Then
    Range("A1") = "s"
    Range("L2:M2").Select
    Selection.Copy
    Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("L2:M2").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    End If
    Range("A1") = ""
    End Sub

    Ez meg a korrekt megoldás:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = False
    If Range("L2") = "valami" Then
    Range("L2:M2").Select
    Selection.Copy
    Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("L2:M2").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    End If
    Application.EnableEvents = True
    End Sub

Új hozzászólás Aktív témák