Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnung NICHT unterbrechen lassen

Berechnung NICHT unterbrechen lassen
Sandra
Hallo zusammen -
nach einem Update lässt sich mit jeder Taste/ jedem Klick die automatische Berechnung/ manuelle Berechnung durch F9 unterbrechen. Das Arbeitsblatt ist groß (ca. 90s Berechnung) und ein versehentliches Abbrechen der Berechnung durch einen Benutzer führt zu unschönen/ falschen Ergebnissen. Kann man das versehentliche Abbrechen irgendwie unterbinden?
Danke!!!
Gruß
Sandra

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Nein, das könnte man höchstens...
21.05.2012 15:26:52
EtoPHG
durch VBA 'unterbinden', Sandra
Bei einer so langen Berechnungsdauer sehe ich aber auch nicht ein, warum der Benutzer nicht 'mit unschönen' Ergebnissen weiterarbeiten soll. Wenn er das nicht will, kann er solange warten, bis die Statuszeile wieder 'Bereit' anzeigt. In letzterer sieht er ja den Fortschritt der Berechnung und will sie bewusst unterbrechen.
Gruess Hansueli
AW: Nein, das könnte man höchstens...
21.05.2012 15:55:03
Sandra
Hallo Hansueli!
Ich kann dein Argument nachvollziehen. Leider schauen die Nutzer der Tabelle nicht danach, ob die Berechnung bereits abgeschlossen ist. Was dann zu Problemen führt.... .
LG
Sandra
Anzeige
AW: Berechnung ohne Unterbruch mit VBA
21.05.2012 16:36:05
EtoPHG
Hallo Sandra,
Dann plaziere einen ActiveX-Button auf dem Tabellenblatt mit diesem Code:
Private Sub CommandButton1_Click()
With CommandButton1
If Not Application.CalculationState = xlDone Then
Application.CalculateFull
.Caption = "Berechnung abgeschlossen!"
.ForeColor = &HC000&
End If
End With
End Sub

und zusätzlich noch diesen Code ebenfalls in das Tabellenblatt
Private Sub Worksheet_Change(ByVal Target As Range)
With CommandButton1
If Application.CalculationState = xlDone Then
.Caption = "Berechnung abgeschlossen!"
.ForeColor = &HC000&
Else
.Caption = "Berechnung OFFEN!"
.ForeColor = &HFF&
End If
End With
End Sub

Gruess Hansueli
Anzeige
AW: Berechnung ohne Unterbruch mit VBA
21.05.2012 17:20:57
Sandra
Hallo Hansueli!
Super! Leider aktualisiert sich der Button nicht allein, wenn die Berechnung fertig ist. Wenn man nochmal klickt, wechselt es dann von rot auf grün. Lässt sich da noch was machen?
Danke & Gruß
Sandra
AW: Berechnung ohne Unterbruch mit VBA
21.05.2012 17:54:02
Sandra
...mir ist noch was aufgefallen. :)
Der Default-Wert ist "Berechnung abgeschlossen". D.h. wenn jmd die Datei öffnet, steht auf dem Button als erste Info, dass die Berechnung bereits abgeschlossen ist. Wie kann man den Code verändern, dass es zu Beginn "Berechnung durchführen!" heißt?
Danke & viele Grüße
Sandra
AW: Berechnung ohne Unterbruch mit VBA
22.05.2012 09:45:53
guentherh
Hallo Sandra
sollte so gehen:
Private Sub Worksheet_Change(ByVal Target As Range)
call aktualisieren
End Sub

Public Sub aktualisieren()
With CommandButton1
If Application.CalculationState = xlDone Then
.Caption = "Berechnung abgeschlossen!"
.ForeColor = &HC000&
Else
.Caption = "Berechnung OFFEN!"
.ForeColor = &HFF&
Application.OnTime Now + TimeValue("00:00:01"), "aktualisieren", Now + TimeValue(" _
00:05:00")
End If
End With
End Sub
Der Button wird nicht mehr aktualisiert, wenn die Berechnung länger als 5 Minuten dauert
Gruß,
Günther
Anzeige
AW: Berechnung ohne Unterbruch mit VBA
22.05.2012 10:45:42
EtoPHG
Hallo Sandra,
Hier noch eine (IMHO bessere) Variante. Sie erlaubt das komplette Verhindern des Unterbrechens der Berechnung durch Tastedrücke. Ersetze den gesamten Code im Tabellenblatt durch diesen:
Option Explicit
Private Sub CommandButton1_Click()
With CommandButton1
Select Case .Caption
Case "NICHT unterbrechen!"
Application.CalculationInterruptKey = xlEscKey
.Caption = "Unterbrechen: ESC!"
.ForeColor = &HFFFF&
Case "Unterbrechen: ESC!"
Application.CalculationInterruptKey = xlAnyKey
.Caption = "Unterbrechen: jede Taste!"
.ForeColor = &HFF&
Case Else
Application.CalculationInterruptKey = xlNoKey
Me.Calculate
.Caption = "NICHT unterbrechen!"
.ForeColor = &H8000&
End Select
End With
End Sub
Private Sub Worksheet_Activate()
Application.CalculationInterruptKey = xlNoKey
Me.Calculate
CommandButton1.Caption = "NICHT unterbrechen!"
CommandButton1.ForeColor = &H8000&
End Sub
Private Sub Worksheet_Deactivate()
Application.CalculationInterruptKey = xlAnyKey
End Sub
Wechsle einmal das Blatt und wieder zurück. Ab dann sollte alles gut sein und du kannst mit dem Button spielen ;-)
Gruess Hansueli
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige