Microsoft Excel

Herbers Excel/VBA-Archiv

Code an-und abschalten | Herbers Excel-Forum


Betrifft: Code an-und abschalten von: Volker
Geschrieben am: 25.11.2009 08:35:22

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

  

Betrifft: AW: Code an-und abschalten von: Chris
Geschrieben am: 25.11.2009 08:44:17

Servus Volker,

so bei Worksheet -und Workbookereignissen:

Sub an_ausschalten()
Application.EnableEvents = Not Application.EnableEvents
End Sub

Gruß

Chris


  

Betrifft: AW: Code an-und abschalten von: Matthias L
Geschrieben am: 25.11.2009 08:52:44

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


  

Betrifft: AW: Code an-und abschalten von: Volker
Geschrieben am: 25.11.2009 09:00:27

Hallo Matthais,
da ich mal die Spalte C und mal Spalte D "ausschalten" möchte wollte ich das dann per Inputbox "regeln".


  

Betrifft: geht es nur um die Spalten C und D ? oT von: Matthias L
Geschrieben am: 25.11.2009 09:14:05




  

Betrifft: AW: @ Matthias @ Chris von: hary
Geschrieben am: 25.11.2009 12:05:46

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


  

Betrifft: erledigt, Denkfehler von mir owT. von: hary
Geschrieben am: 25.11.2009 22:43:53

.


  

Betrifft: AW: geht es nur um die Spalten C und D ? oT von: Volker
Geschrieben am: 25.11.2009 13:19:29

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


  

Betrifft: hier ein Beispiel ... von: Matthias L
Geschrieben am: 25.11.2009 20:49:00

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


  

Betrifft: AW: hier ein Beispiel ... von: Volker
Geschrieben am: 25.11.2009 21:32:11

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


  

Betrifft: hier mit einer Inputbox von: Matthias L
Geschrieben am: 26.11.2009 11:38:57

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


  

Betrifft: AW: hier mit einer Inputbox von: Volker
Geschrieben am: 30.11.2009 21:17:40

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