Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1732to1736
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

Excel "Calculate" hoert nie auf

Excel "Calculate" hoert nie auf
14.01.2020 06:39:38
Uwe
Hallo, zunaechst einmal noch ein frohes neues Jahr in die Runde.
Ich bin echt am verzweifeln. Es wurde von mir in Excel eine "Spesenabrechnung" programmiert welche in der Zwischenzeit recht komplex geworden ist. Nun habe ich einige Aenderungen vorgenommen und es kommt zu dem Phaenomen, das sobald ich ein Dropdownfeld aender Excel ununterbrochen unten links "Ready" blikt und unten liks ununterbrochen "Calculating: (4Processor(s): 100%" erscheint. das ganze blinkt schnell und macht einen verrueckt. Leider kann ich den File hier nicht zur Verfuegung stellen, da Personendaten drin stehen, Firmenlogo usw.
Gibt es jemand, dem ich das einmal zur Verfuegung stellen koennte ?
Oder hat jemand eine Idee woran es liegen koennte ?
Vielen Dank fuer eure Hilfe und einen schoenen Tag
Uwe

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Vermutung
14.01.2020 07:17:19
RPP63
Moin Uwe!
Ich schätze mal, dass sich ein Event immer wieder selbst aufruft.
Schließe die Datei und schreibe ins Direktfenster:
Application.Enable Events = False

gefolgt von Enter.
Wenn Du jetzt die Datei wieder öffnest und Du ändern kannst (ohne Ergebnis), dann musst Du Dir die _Change-Ereignisse genauer anschauen.
(nicht vergessen, in der Sitzung die Events wieder einzuschalten)
Gruß Ralf
AW: Vermutung
14.01.2020 08:25:34
Uwe
Es kommt dann die Meldung "The text you entered is not a valid reference or defined name."
Koenntest du dir die Datei einmal anschauen ? Ich weiß nur dann nicht wie ich sie zur Verfuegung stellen koennte.
Anzeige
AW: Vermutung
14.01.2020 12:55:19
Daniel
Hi
schau dich doch einfach mal auf der Seite ein bisschen um.
direkt über dem Eingabefeld siehst du eine Button-Reihe. Einer davon heißt "zum File-Upload".
alles weitere wird dann dort beschrieben.
Gruß Daniel
@Daniel
14.01.2020 14:01:00
Rudi
Leider kann ich den File hier nicht zur Verfuegung stellen, da Personendaten drin stehen, Firmenlogo usw.

AW: @Rudi
15.01.2020 10:35:38
Daniel
Es kommt dann die Meldung "The text you entered is not a valid reference or defined name."
Koenntest du dir die Datei einmal anschauen ? Ich weiß nur dann nicht wie ich sie zur Verfuegung stellen koennte.
EnableEvents zusammengeschrieben
14.01.2020 20:19:53
lupo1
AW: EnableEvents zusammengeschrieben
15.01.2020 10:14:34
Uwe
So. Ich habe jetzt mal einen File hochgeladen.
https://www.herber.de/bbs/user/134408.xlsm
Das Passwort der Datei ist "dell".
Folgendes ist zu beobachten:
Wechselt man im Tabellenblatt "Deutschland" von "Schmidt, Heiko" auf "Meyer, Klaus" im Auswahlfeld B6, dann startet ein Skript.
Alt+F11 geht jetzt schon nicht mehr unmittelbar, da das Skript laeuft, aber nicht aufhoert. Erst nach dem ich ein beliebiges Feld angeklickt habe geht wieder Alt+F11.
Im VBA Generator sieht man ganz oben staendig "running".
Aber was laeuft da und warum hoert es nicht auf zu laufen ? Das Skript sollte nach dem Wechsel des Namens in B6 automatisch laufen und danach wieder anhalten.
Vielen Dank fuer eure Unterstuetzung Uwe
Anzeige
AW: EnableEvents zusammengeschrieben
15.01.2020 14:38:25
Daniel
hi
blöde Frage, warum nimmst du den Schutz nicht einfach raus, bevor du die Datei für uns hochlädst?
ein Problem ist die Anfängerhafte Programmierung im Makro des DropDownButtons.
es sollte sich inzwischen herumgesprochen haben, dass es in VBA nicht unbedingt notwendig ist, eine Zelle zu selektieren, bevor man sie bearbeitet und dass Code vom Recorder immer überarbeitet werden muss.
hier wird beispielsweise 6x das Selection.Change und das Change-Event durchlaufen, obwohl das wahrscheinlich nicht notwendig ist:
    ActiveCell.FormulaR1C1 = "0"
Range("A11").Select
Selection.ClearContents
Range("A12").Select
Selection.ClearContents
Range("A13").Select
Selection.ClearContents
Range("A14").Select
Selection.ClearContents
Range("A15").Select
Selection.ClearContents
Range("A16").Select
Selection.ClearContents 
dieser Block lässt sich in einer einzigen Zeile zusammenfassen:
Range("A1:A16").ClearContents

und dann wird das SelectionChange-Event gar nicht und das Change-Event einmal aufgerufen.
oder auch hier:
Range("c2").Select
ActiveCell.FormulaR1C1 = "=RAND()*10000"
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False

warum nicht einfach
Range("C2").Value = Worksheetfunction.RandBetWeen(1, 10000)

(wobei man die Funktion dieser Zeile mal überdenken sollte)
das Prinzip solltest durchgehend anwenden, dh
- Zellen ohne vorherige Selektion direkt bearbeiten
- alle Zellen, die den gleichen Bearbeitungsschritt, Wert oder Formel bekommen, in einem Schritt füllen.
das klappt auch mit nicht zusammenhängenden Zellbereichen:
Range("C10").Select
ActiveCell.FormulaR1C1 = "0"
Range("C11").Select
ActiveCell.FormulaR1C1 = "0"
Range("C12").Select
ActiveCell.FormulaR1C1 = "0"
Range("C13").Select
ActiveCell.FormulaR1C1 = "0"
Range("C14").Select
ActiveCell.FormulaR1C1 = "0"
Range("C15").Select
ActiveCell.FormulaR1C1 = "0"
Range("C16").Select
ActiveCell.FormulaR1C1 = "0"
Range("D10").Select
ActiveCell.FormulaR1C1 = "0"
Range("D11").Select
ActiveCell.FormulaR1C1 = "0"
Range("D12").Select
ActiveCell.FormulaR1C1 = "0"
Range("D13").Select
ActiveCell.FormulaR1C1 = "0"
Range("D14").Select
ActiveCell.FormulaR1C1 = "0"
Range("D15").Select
ActiveCell.FormulaR1C1 = "0"
Range("D16").Select
ActiveCell.FormulaR1C1 = "0"
Range("d25").Select
ActiveCell.FormulaR1C1 = "0"
Range("d26").Select
ActiveCell.FormulaR1C1 = "0"
Range("D27").Select
ActiveCell.FormulaR1C1 = "0"
Range("d28").Select
ActiveCell.FormulaR1C1 = "0"
Range("D29").Select
ActiveCell.FormulaR1C1 = "0"
Range("d30").Select
ActiveCell.FormulaR1C1 = "0"
Range("d31").Select
ActiveCell.FormulaR1C1 = "0"
Range("D33").Select
ActiveCell.FormulaR1C1 = "0"
Range("D34").Select
ActiveCell.FormulaR1C1 = "0"
Range("d38").Select
ActiveCell.FormulaR1C1 = "0"
Range("B56").Select
ActiveCell.FormulaR1C1 = "0"

wird zu
Range("C10:D16,D25:D34,D38,D56")=0
Gruß Daniel
Anzeige
AW: EnableEvents zusammengeschrieben
15.01.2020 15:31:18
Uwe
Hallo Daniel,
schon mal vielen Dank. Ich habe alle deine 3 Anregungen umgesetzt. Das macht das natuerlich alles besser, schneller und uebersichtlicher.
Aber es hat nichts an dem Problem geholfen. Es laeuft immer noch staendig im Hintergrund ein Skript was "calculate" wird und nicht aufhoert.
Hier die Datei in die deine Anregungen eingeflossen sind:
https://www.herber.de/bbs/user/134428.xlsm
Das Passwort der Datei ist "dell".
Folgendes ist zu beobachten:
Wechselt man im Tabellenblatt "Deutschland" von "Schmidt, Heiko" auf "Meyer, Klaus" im Auswahlfeld B6, dann startet ein Skript.
Alt+F11 geht jetzt schon nicht mehr unmittelbar, da das Skript laeuft, aber nicht aufhoert. Erst nach dem ich ein beliebiges Feld angeklickt habe geht wieder Alt+F11.
Im VBA Generator sieht man ganz oben staendig "running".
Aber was laeuft da und warum hoert es nicht auf zu laufen ? Das Skript sollte nach dem Wechsel des Namens in B6 automatisch laufen und danach wieder anhalten.
Vielen Dank fuer eure Unterstuetzung Uwe
Anzeige
AW: EnableEvents zusammengeschrieben
15.01.2020 18:04:50
Daniel
Hi
1. wenn ich dich bitte, das Passwort zu entfernen, solltest du das auch tun.
da du kostenlos hilfe haben willst, solltest du es den Helfern so leicht wie möglich machen.
außerdem brauchst du dann nicht dein Passwort zu veröffentlichen.
2. wenn ich dir schon ein paar Tipps gebe, dann solltest du die auch verstehen und umsetzen.
nicht nur an den Beispielen die ich dir gezeigt habe, sondern auch im Rest vom Code.
aktive Mitarbeit und die Bereitschaft, das Erklärte aufzunehmen und umzusetzen erfreut jeden Helfer und steigert in der Regel die Hilfsbereitschaft.
3. ich kann keinen Fehler erkennen. beim mir läuft der Code mit akzeptabeler Wartezeit im hundertstelsekundenbereich durch.
Gruß Daniel
Anzeige
AW: Excel "Calculate" hoert nie auf
15.01.2020 07:31:43
Uwe
Auch wenn "EnableEvents" zusammengeschrieben ist kommt die selbe Fehlermeldung. Kann ich den File nicht mal jemand direkt zur Verfuegung stellen ? Ich werde natuerlich hier hinterher reporten was Excel in die "Calculate-Schleife" geschickt hatte um die Frage zu beantworten. Ich bin echt am verzweifeln. Vielen Dank fuer eure Hilfe, Uwe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige