Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnungen abbrechen auf Knopfdruck

Forumthread: Berechnungen abbrechen auf Knopfdruck

Berechnungen abbrechen auf Knopfdruck
06.04.2009 11:12:19
Erich
Hallo zusammen
Ich habe folgende Frage an euch Experten:
Ich benötige ein Makro, welches bei einem Tastendruck (sagen wir mal es wird x gedrückt) alle Berechnungen abbricht (sowohl Makroberechnungen als auch Formelberechnungen im Excel). Dies sollte dann nur für dieses eine Dokument gelten. Geht das irgendwie?
Vielen Dank für eure Hilfe!
Gruss Erich
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Berechnungen abbrechen auf Knopfdruck
06.04.2009 14:34:57
Ptonka
Hallo Erich,
eigentlich kannst Du ein Makro dch mit der ESC-Taste abbrechen.
Genügt Dir das nicht?
Gruß,
Ptonka
es werden Matrizenrechnungen ausgelöst
06.04.2009 14:38:07
Erich
das Makro löst Matrizenrechnungen aus, welche etwa 10 min!!! dauern, bis diese berechnet sind.. dann geht es leider nicht mehr mit ESC. Aber trotzdem danke für die Antwort..:)
Gruss Erich
Anzeige
Ich hatte dich zwar anders verstanden,...
07.04.2009 00:16:32
Luc:-?
...Erich,
aber da wäre die Antwort ohnehin NEIN gewesen, aber auch ein lfd Makro kann man nur mit {ESC} abbrechen wie bereits von Ptonka erwähnt. Das geht natürlich nicht immer sofort, nämlich dann nicht, wenn das Pgm zeitweilig verlassen wurde, um xlRoutinen abzuarbeiten, die im Fall von Matrix-Berechnung und Evaluate-Umsetzung gerne auch mal länger dauern können. In diesen Fällen müsste die Taste wiederholt gedrückt wdn, um eine "Pause" zwischen 2 Berechnungen zu erwischen.
Evtl wäre aber etwas mit einer zuvor aufgerufenen Subroutine, die eine Timerschleife mit zusätzlicher DoEvents-Anweisung enthält, zu erreichen. Diese bewirkt die Abgabe der Steuerung an das System, während die Schleife läuft. Allerdings darf man in dieser Zeit diese Routine nicht ein 2.Mal aufrufen. Ein solches Versehen sollte abgefangen wdn...
Ich habe so etwas schon mal in wdVBA eingesetzt, allerdings zu einem ganz anderen Zweck, weshalb ich hier den Erfolg nicht garantieren kann. Ein PgmBsp findest du in der VBE-Hilfe.
Allerdings wird auch hierbei dein Pgm wahrscheinlich nur bei Abarbeitung seiner eigenen Anweisungen unterbrochen wdn können...?! Mal ausprobieren! Am Ergebnis wären sicher auch Andere interessiert!
Gruß Luc :-?
Anzeige
Umsetzung: ist Interesse vorhanden..?
07.04.2009 06:31:58
Erich
Hallo Luc:-?
deine Idee klingt sehr interessant, da ich aber schlicht und einfach nur ein Basis-VBA beherrsche, muss diese wohl jemand anders umsetzen? ist interesse vorhanden?:)
Gruss Erich
Anzeige
Anzeige

Infobox / Tutorial

Berechnungen in Excel auf Knopfdruck abbrechen


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Ein neues Modul hinzufügen: Klicke mit der rechten Maustaste auf "VBAProject (DeinDokumentName)" und wähle Einfügen > Modul.

  3. Makro einfügen: Füge den folgenden Code in das Modul ein:

    Dim stop As Boolean
    
    Sub BerechnungAbbrechen()
        stop = True
    End Sub
    
    Sub Berechnungen()
        stop = False
        ' Beispiel für eine lange Berechnung
        Dim i As Long
        For i = 1 To 1000000
            If stop Then
                MsgBox "Berechnung abgebrochen!"
                Exit Sub
            End If
            ' Hier könnte eine Berechnung stehen
        Next i
    End Sub
  4. Tastenkürzel zuweisen: Gehe zurück zu Excel, drücke ALT + F8, wähle BerechnungAbbrechen aus und klicke auf Optionen, um ein Tastenkürzel zuzuweisen (z.B. CTRL + X).

  5. Makro testen: Starte das Makro Berechnungen und drücke dann das zugewiesene Tastenkürzel, um die Berechnung abzubrechen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro reagiert nicht auf ESC oder das zugewiesene Tastenkürzel.

    • Lösung: Stelle sicher, dass der Code korrekt eingegeben wurde und das Makro nicht in einer zeitintensiven Schleife feststeckt. Nutze die DoEvents-Anweisung, um die Steuerung regelmäßig abzugeben.
  • Fehler: Der Prozess wird nicht wie gewünscht abgebrochen.

    • Lösung: Überprüfe, ob die Bedingung zur Unterbrechung (stop) an den richtigen Stellen im Code abgefragt wird.

Alternative Methoden

  • ESC-Taste: Bei vielen Berechnungen kannst Du die ESC-Taste verwenden, um die Berechnung zu stoppen. Dies funktioniert jedoch nicht immer, besonders bei Matrizenrechnungen oder langwierigen Prozessen.

  • Task-Manager: Falls Excel nicht mehr reagiert, kannst Du den Task-Manager öffnen (STRG + ALT + ENTF) und Excel manuell beenden. Dies sollte jedoch als letzter Ausweg betrachtet werden, da ungespeicherte Daten verloren gehen können.


Praktische Beispiele

  • Matrizenberechnung abbrechen: Für komplexe Matrizenberechnungen in Excel kann das oben genannte Makro verwendet werden, um die Berechnung zu unterbrechen. Dies ist besonders nützlich, wenn Du mit großen Datenmengen arbeitest, die lange Rechenzeiten erfordern.

  • Solver abbrechen: Wenn Du den Solver verwendest, kannst Du über die Benutzeroberfläche den Prozess abbrechen. Gehe zu Daten > Solver und klicke auf Abbrechen.


Tipps für Profis

  • Benutze DoEvents: In langen Schleifen ist es ratsam, DoEvents regelmäßig einzufügen. Dies ermöglicht es Excel, auf Benutzeraktionen zu reagieren und könnte das Abbrechen der Berechnung erleichtern.

  • Planung von Berechnungen: Überlege, ob alle Berechnungen in einer Sitzung notwendig sind. Manchmal kann es effizienter sein, die Berechnungen in kleinere Teile zu unterteilen und diese separat abzuwickeln.


FAQ: Häufige Fragen

1. Wie kann ich Berechnungen in Excel abbrechen? Du kannst Berechnungen in Excel abbrechen, indem Du ESC drückst oder ein Makro erstellst, das eine variable Abbruchbedingung verwendet.

2. Funktioniert das Abbrechen bei allen Berechnungen? Nicht alle Berechnungen können abgebrochen werden. Insbesondere bei Matrizenrechnungen kann es sein, dass das Abbrechen nicht sofort funktioniert.

3. Kann ich einen Makro-Prozess abbrechen? Ja, durch das Einfügen einer Abbruchbedingung in Deinen Makro-Code kannst Du den Prozess gezielt unterbrechen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige