Ich möchte die Inhalte eines Tabellenblattes löschen, in dem ich ein Makro laufen habe. Das Löschen dauert sehr lange. Zu löschender Bereich ist C3 bis L1000, je nach dem wie viele Zeilen beschrieben sind. Ist es möglich das Makro auszuschalten wenn ich die Inhalte in dem Bereich löschen möchte. Oder gibt es noch eine andere Möglichkeit?
Folgendes Makro läuft in dem Tabellenblatt:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim var As Variant
If Target.Column <> 3 Then Exit Sub
With Application
Application.ScreenUpdating = False
var = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 2, 0)
If Not IsError(var) Then
Target.Offset(0, 2) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 2, 0)
Target.Offset(0, 3) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 3, 0)
Target.Offset(0, 4) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 4, 0)
Target.Offset(0, 5) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 5, 0)
Target.Offset(0, 6) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 6, 0)
Target.Offset(0, 7) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 7, 0)
Target.Offset(0, 8) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 8, 0)
Target.Offset(0, 9) = .VLookup(Target.Value, Worksheets("Stammdaten").Columns("A:I"), 9, 0)
Else
Target.Offset(0, 2) = "?"
Target.Offset(0, 3) = "?"
Target.Offset(0, 4) = "?"
Target.Offset(0, 5) = "?"
Target.Offset(0, 6) = "?"
Target.Offset(0, 7) = "?"
Target.Offset(0, 8) = "?"
Target.Offset(0, 9) = "?"
End If
End With
Application.ScreenUpdating = True
End Sub
Vielen Dank für eure Hilfe!
Tschüß
Rolf