HERBERS Excel-Forum - das Archiv
Code an-und abschalten
Volker

Hallo Excel- Gemeinde.
Kann man eigendlich ein Makro bzw. einen Code ein und ausschalten?
Private Sub Worksheet_Change(ByVal Target As Range)
Dieser Code "springt "ja sofort bei wechsel der Zelle an. Manchmal ist es aber für mich "praktischer" das der Code für eine paar Eingaben nicht "greift". Kann man das über eine Button an und ausschalten?
Ich hoffe auf einen Tipp oder andere Hilfe

AW: Code an-und abschalten
Chris

Servus Volker,
so bei Worksheet -und Workbookereignissen:
Sub an_ausschalten()
Application.EnableEvents = Not Application.EnableEvents
End Sub

Gruß
Chris
AW: Code an-und abschalten
Matthias

Hallo
Private Sub Worksheet_Change(ByVal Target As Range)
Dieser Code "springt "ja sofort bei wechsel der Zelle an.
das ist so aber nicht richtig.
Dieses Ereignis tritt bei manueller Zelländerung ein.


Manchmal ist es aber für mich "praktischer" das der Code für eine paar Eingaben nicht "greift"
Es geht also doch um Zelländerung
Wenn Du nun noch bekannt gibst, in welchen Zellen (bei Änderuung) nichts passieren soll, könnte man das auch direkt im Ereigniscode hinterlegen.


Der Nachteil beim Ein und Ausschalten (siehe Chris) über ein Button ist:
Du könntest vergessen es wieder zu aktivieren.
Gruß Matthias
AW: Code an-und abschalten
Volker

Hallo Matthais,
da ich mal die Spalte C und mal Spalte D "ausschalten" möchte wollte ich das dann per Inputbox "regeln".
geht es nur um die Spalten C und D ? oT
Matthias

AW: @ Matthias @ Chris
hary

Mahlzeit Ihr Beiden
Hab ein aehnliches Problem. Diese beiden Codes funzen wie sie sollen. Jetzt kommt das aber:
Loesche ich eine Zeile, in einem der anderen Blaetter, schmiert Excel ab. Mit application.EnableEvents False
passiert nix und ich kann Zeilen loeschen. Komme nur nicht dahinter wo ich die events in diese Codes ein und ausschalte.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Long
Application.ScreenUpdating = False
On Error GoTo aus
Select Case Sh.Name
Case "Tabelle1", "Tabelle5" ' hier die Namen der Tabellen wo es wirken soll
If Target.Column = 7 Then
i = Worksheets(Target.Value).Cells(Rows.Count, 1).End(xlUp).Row + 1
If i <= 600 Then i = 600
Range("A" & Target.Row & ":E" & Target.Row).Copy
Worksheets(Target.Value).Cells(i, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone,  _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End If
End Select
aus:
Exit Sub
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim a
Dim zelle As Range
On Error GoTo aus
a = ActiveCell.Value
Select Case Sh.Name
Case "Tabelle1", "Tabelle5" ' hier die Namen der Tabellen wo es wirken soll
If Target.Column = 7 And Target.Value = a Then
For Each zelle In Worksheets(a).Range("C600:C1000")
If zelle.Text = ActiveCell.Offset(0, -4).Text Then
zelle.EntireRow.Delete
ActiveCell = ""
Exit For
End If
Next zelle
End If
End Select
aus:
Exit Sub
End Sub

ueber Tips wuerde ich mich freuen.
Gruss hary
erledigt, Denkfehler von mir owT.
mir

.
AW: geht es nur um die Spalten C und D ? oT
Volker

Hallo Matthias, es geht um die Spalten C oder D, und ich würde das gern über eine Inputbox abfrage. Kannst du mir dabei helfen?
Gruss Volker
hier ein Beispiel ...
Matthias

Hallo Volker
Über eine Inputbox ist das auch machbar aber ich empfehler da eher ein Togglebutton.
Ich habe da mal eine Beispieldatei angehängt
https://www.herber.de/bbs/user/66172.xls
wenns dennoch eine Inputbox sein soll, erkläre mal bitte wie Du Dir das vorstellst.
Also wann soll die Box denn erscheinen und was soll drinstehen.
Ich könnte mir vorstellen beim Öffnen der Datei abzufragen welche Spalte denn ignoriert werden soll
Genausogut wäre es möglich z.B. in A1 die zu ignorierende Spalte einzutragen und im Code dann die Spaltennummer von dort abzuholen.
Aber überleg erst nochmal, was da eher für Dich in Frage kommt und melde Dich dann nochmal.
Gruß Matthias
AW: hier ein Beispiel ...
Volker

Hallo Matthias, habe deine Nachricht eben erst gesehen, habe schwere DSL Probleme und melde mich wieder. Habe schönen Dank für deine Antwort. Werde man sehen was Du das schönes für mich gebastelt hast. Danke dir erst mal
hier mit einer Inputbox
Matthias

Hallo Volker
Hier noch 2 Varianten
1. mit 2 Togglebutton (um zu de/aktivieren)
https://www.herber.de/bbs/user/66191.xls
2. mit einer Inputbox
https://www.herber.de/bbs/user/66192.xls
Gruß Matthias
AW: hier mit einer Inputbox
Volker

Halllo Matthais, danke für die Tipps, werde meine Codes verändern. Leider im moment keine Zeit, da die Arbeit mich sehr im Griff hat.
Gruss Volker