VBA: Warum Datei so fehleranfällig?
01.04.2019 13:38:26
Christian
nachfolgende Beispieldatei enthält einige unbeholfen aneinander gereihte Code-Abschnitte (u.a. vom User "Werner" & "fcs" - Danke nochmals dafür).
https://www.herber.de/bbs/user/128807.xlsm
Bevor ich die Datei als fertig betrachtete, habe ich Sie nochmals auf Herz und Nieren getestet.
Mir ist dabei aufgefallen, dass grundsätzlich alle VBA-Befehle funktionieren, diese aber recht fehleranfällig sind. D.h. es klappt nicht immer alles 100%, oftmals - vor allem bei schnellen Eingaben nacheinander - werden bestimmte Szenarien nicht wie gewünscht ausgeführt.
Letztlich dreht sich alles um Spalte G (mit Datenüberprüfung)
Beabsichtigt ist folgende Wirkung:
1) Spalte G, Auswahl "X/x"
Eingabe: Datum Heute wird eingefügt
Entfernung: Formel (die davor bereits hinterlegt war) wird durch Makro eingefügt
2) Spalte G, Auswahl Zahl "1 bis 5"
Eingabe: Entsprechende Zeile wird zum Anfang der Liste verschoben (priorisiert)
Entfernung: Zeile wird wieder normal einsortiert (gemäß Spalte Q)
Nun habe ich folgenden Szenarien hin und wieder festgestellt:
* Bei Eingabe Zahl "1 bis 5" wird Datum Heute eingefügt (nur bei Eingabe "X/x" beabsichtigt)
* Teilweise wird bei Entfernung von "X/x" die Formel nicht durch Makro eingefügt
* Teilweise wird bei Eingabe von Zahl "1 bis 5" das DATUM HEUTE von beliebiger Zeile
mit "X/x" entfernt
* Beim Entfernen von mehreren Eingaben in Spalte G erfolgt ein Laufzeitfehler 13
* Bei Eingabe von Informationen in Spalten mit manueller Eingabe wird häufig das Makro gestartet, welches Einträge gemäß Eingabe Zahl "1 bis 5" nach oben schiebt, obwohl keine neue Eingabe in Spalte G von "Zahl 1 bis 5" erfolgt ist. Es wirkt dann oft so als würde die Datei crashen, weil Excel total schnell irgendwelche Zeilen markiert.
Ich wäre wirklich sehr dankbar, wenn jemand von euch mal einen Blick riskieren würde und vllt. den ein oder anderen Ansatz liefert, wie ich diese "Fehler" unterbinden kann.
Letztlich muss/müssen die Datei bzw. die Makros wirklich zuverlässig funktionieren, sonst war die Arbeit für die Katz' :-(...
Vielen Dank im Voraus!
Gruß,
Christian