Clever-Excel-Forum

Normale Version: Makro verursacht Endlosberechnung, Arbeitsmappe hängt sich auf
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hochladen ist gescheitert.
Hatte das heute morgen zweimal probiert und bin gescheitert. Jetzt hat es geklappt.
Hallöchen,

Zitat:Die Idee ist, wenn eine neue "Version" des Tools zur Verfügung steht, kann man über Import die alten Adressdaten, etc. importieren, damit diese nicht neu eingegeben werden müssen.

Nur mal eine Anmerkung. Wäre es nicht auch eine Idee, Daten und Programm in zwei Dateien zu trennen?
Hallöchen,

Ansonsten,
Zitat:Tritt mein Problem auf, d.h. die Arbeitsmappe hängt sich in einer Endlosberechnung auf.
Geht die da in's WorksheetChange-Ereignismakro? Du könntest dort ja auch Debug.Print Target.Address ausgeben.

Ist natürlich seltsam, dass das Problem nur bei R3 auftritt und nicht bei R2 oder R4 ...

Zitat:Adresse1 = Range("R3")
Da solltest Du auch den Blattnamen dazutun oder kannst Du sicher sein, dass beim Öffnen der Datei das richtige Blatt aktiv ist?

Mit der Userform-TextBox ist aber keine Zelle verknüpft. Das geht nur mit einer TextBox im Blatt. Oder mit Comboboxen oder mit Listboxen oder …

Speicher die Datei mal als xlsb. Gibt es damit immer noch Probleme?
Speicher mal alle codes und dann die Datei als xlsx. Excel beenden, neu starten, codes wieder rein holen. Gibt es damit immer noch Probleme?
z.B.


Code:
Private Sub Worksheet_Change(ByVal target As Range)
    If InStr("$D$24$D$27$D$33$D$36$D$54$D$57", target.Address) Then TextgroesseanpassenMS2
End Sub
Moin,

da snb das TextgroesseanpassenMS2 anspricht - man kann da insgesamt bei den Textgroesseanpassen noch viel reduzieren … Allerdings glaub ich nicht, dass dort die Ursache für die Dauerberechnung liegt Sad
Vielen dank für die Rückmeldungen.

Meine neuen Erkenntnisse:
  • ich schaffe es nicht den Fehler mit Garantie zu erzeugen. Der Import klappt gefühlt 20x und plötzlich, nach irgend einer Änderung die ich noch nicht herausfand, geht es dann nicht mehr, hängt sich auf
  • in K18 von Start steht folgende Formel =SVERWEIS($C$19;$L$3:$S$10;8;FALSCH). Der gesuchte Wert 'Standort' wird in Sheet "Vorl." verwendet. Durch mein VBA Makro füge ich Werte in die Matrix des SVERWEIS von K18 ein. Gleichzeitig sind viele der Werte der Matrix auch ControlSources der Userform Einstellungen. Könnte das zu einem Konflikt führen?
Mit Debug.Print Target.Adress und der Auswertung im VBA-Editor über Direktbereich spuckt er mir immer $R$3 bis $R$10 aus, was die eingefügte Adresszeilen sind.
Den Loopcount im Change-Ereignis habe ich auf 100 gesetzt. Wenn der Fehler auftritt, dann erreicht er sofort die 100 und stopt. Im Direktbereich stehen dann immer die Zeilen $R$3 bis $R$10.
Wenn ich dann manuell auf Stop klicke und der VBA-Code weiter ausgeführt werden darf, haut wieder ständig $R$3 bis $R$10 an.
Das heißt, die einfügten Werte erzeugen dauerhaft ein Change Ereignis? Weil sie nicht richtig eingefügt / kalkuliert werden können? Ich verstehe es nicht.

Zitat:Mit der Userform-TextBox ist aber keine Zelle verknüpft. Das geht nur mit einer TextBox im Blatt. Oder mit Comboboxen oder mit Listboxen oder …

Speicher die Datei mal als xlsb. Gibt es damit immer noch Probleme?
Speicher mal alle codes und dann die Datei als xlsx. Excel beenden, neu starten, codes wieder rein holen. Gibt es damit immer noch Probleme?
Die Userform-Textboxen haben als ControlSource Werte in Spalte R. Ist das keine Verknüpfung?
Die Optionen mit xlsb und xlsx halte ich noch zurück und warte eure Anmerkungen hab.

Ihr verzeiht mir bitte, dass der Fokus gerade der Fehler ist. Danach betreibe ich gerne Codekosmetik.

Danke euch und Grüße
Martin
Verzichte auf 'rowsource' und 'fillwithrange'
Ich lade euch eine Arbeitsmappe hoch, bei der ich, zumindest auf meinem Rechner, den Fehler "eingefangen" habe.
Heißt: Wenn man eine Zelle ändert, z.B. H15 mit Text füllt und wieder löscht, dann lässt sich über Debug.Printout anzeigen, welche Zellen sich geändert haben.
Sofort erscheinen dann die Zellen der Adresse, also R3-R8, immer wieder bis Loopcount bei 100 stopt.
So, als ob er diese Zellen partout nicht zufriedenstellend berechnen kann.

Es wäre sehr erfreulich für mich, wenn jemand diesen Fehler an seinem Rechner reproduzieren kann?

Der Zeilenumbruch in den Adresszeilen wird durch Chr(10) erzeugt. Das konnte ich über Replace feststellen.

Danke und Gruß
Martin
Hallo,

Du solltest mit EnableEvents=false  mal verhindern, dass die Neuberechnung erfolgt.
Seiten: 1 2 3