Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Worksheet Change - Nur bei Änderung durch Userinte

Betrifft: Worksheet Change - Nur bei Änderung durch Userinte von: Ina
Geschrieben am: 19.08.2008 09:10:33

Hallo Forum,

wie kann ich das Worksheet_Change-Ereignis so beschränken, dass es nur beim Eingriff über das User-Interface ausgelöst wird; Sheet-Änderungen über den Code sollen nicht zum Ereignis führen.

Kann mir jemand weiterhelfen?

Vielen Dank schonmal!

Gruß
Ina

  

Betrifft: AW: Worksheet Change - Nur bei Änderung durch Userinte von: Tino
Geschrieben am: 19.08.2008 09:18:58

Hallo,
eine Möglichkeit wäre,
verwende eine Public Variable und fange diese im Ereignis entsprechend ab.


In ein Modul

Public FormAktiv As Boolean



Im Worksheet_Change-Ereignis

If FormAktiv = True Then Exit Sub



In der Userform

Private Sub UserForm_Initialize()
FormAktiv = True
End Sub

Private Sub UserForm_Terminate()
FormAktiv = False
End Sub



Gruß Tino

www.VBA-Excel.de




  

Betrifft: Korrektur von: Tino
Geschrieben am: 19.08.2008 09:20:48

Hallo,
muss natürlich so rum sein ;-)

If FormAktiv = False Then Exit Sub


Gruß Tino


  

Betrifft: AW: Korrektur von: Ina
Geschrieben am: 19.08.2008 09:35:36

Hallo Tino,
ich hatte gehofft es gibt etwas Eleganteres,
aber das funktioniert so sicher auch,
Danke!

Gruß
Ina


  

Betrifft: AW: Korrektur von: Tino
Geschrieben am: 19.08.2008 09:50:23

Hallo,
es besteht die Möglichkeit die Events abzuschalten.


In DieseArbeitsmappe als Code.

Private Sub Workbook_Activate()
Application.EnableEvents = False
End Sub

Private Sub Workbook_Deactivate()
Application.EnableEvents = True
End Sub



In die Userform

  Private Sub UserForm_Initialize()
  Application.EnableEvents = True
  End Sub
  
  Private Sub UserForm_Terminate()
  Application.EnableEvents = False
  End Sub



Aber persönlich würde ich davon Abstand halten.


Gruß Tino


 

Beiträge aus den Excel-Beispielen zum Thema "Worksheet Change - Nur bei Änderung durch Userinte"