Excel: Makro automatisch

spartanflame

Neues Mitglied
Hallo,
ich habe mir für die Schule ein Notenprogramm geschrieben, das mir die Schnitte für jeden Schüler und die ganze Klasse ausrechnet. Diese Berechnungen habe ich als Makro angelegt, das die einzelnen Werte der Tabelle ausliest und dann in die passenden Felder das Ergebnis schreibt.
Jetzt würde ich zur weiteren Vereinfachung gerne dieses Makro, das ich bis jetzt immer per Hand ausführen muss, automatisch im Hintergrund laufen haben, so dass es bei einer Eingabe oder Änderung (z.B. nach ENTER) die Ergebnisse automatisch neu berechnet.
Ich habe schon in einigen Foren danach gesucht, konnte aber keine geeignete Antwort finden bzw. konnte die dortigen Lösungen nicht zum Laufen bringen.
Vielen Dank im Voraus.
 

Thomas Ramel

Stammgast
Grüezi spartanflame

Du kannst das folgende Code-Gerüst im Codemodul des Tabellenblattes verwenden und noch entsprechend anpassen um deinen Code automatisch laufen zu lassen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Target wird auf den sich überschneidenden Bereich gesetzt, um bei
'Mehrfachmarkierungen die ausserhalb des eingeschränkten Bereiches
'liegenden Zellen nicht ebenfalls zu verändern

'Hier den Bereich anpassen
    Set Target = Application.Intersect(Target, Range("A1:C10"))

    'Wenn nicht innerhalb des Bereiches wird die Prozedur verlassen
    If Target Is Nothing Then Exit Sub

    'Errorhandling aktivieren, um im Falle eines Fehlers die Ereignisse
    'am Ende wieder zu aktivieren
    On Error GoTo ErrorHandler

    'Ereignisse ausschalten, um das Change-Ereignis nicht erneut auszulösen
    Application.EnableEvents = False

    'Eine Range-Variable deklarieren
    Dim rngZelle As Range

    'jede Zelle innerhalb des Target-Bereiches durchlaufen
    For Each rngZelle In Target

    
    'Dein Code zur Bearbeitung der Zelle


    Next rngZelle
ErrorHandler:
    Application.EnableEvents = True   'Ereignisse wieder einschalten
End Sub
 
Oben