Zum Inhalt springen

Eigenartiges Verhalten von VBA in Excel


Empfohlene Beiträge

Geschrieben

Hallo Community,

nachdem ich endlich den beschwerlichen Registrierungsvorgang hinter mich gebracht habe stelle ich nun mal meine Frage.

Ich habe ein kleines VBA-Programm in Excel geschrieben, das zuerst einige Checkboxen in einem Formular setzt und dann das Formular ausdruckt. Das Problem ist, dass manchmal das Formular ausgedruckt wird BEVOR die Werte so gesetzt werden, wie ich sie im Skript programmiert habe. Meistens funktioniert das ganze allerdings, aber es ist natürlich doof wenn es manchmal doch nicht funktioniert, weil ich ja nicht jedesmal den Ausdruck darauf prüfen will ob es diesmal schon wieder gescheitert ist. Jedenfalls werden die Checkbox-Werte gesetzt auch wenn der Ausdruck fehlerhaft war, d.h. nachdem Ausdrucken sind die Werte auf dem Bildschirm so wie ich sie eigentlich drucken wollte. Was kann das denn sein??? Gibt es irgendeine Art von Befehls-Cache der manchmal zu spät geleert wird oder so ein Schwachsinn? Ich freue mich auf eure Antworten.

Geschrieben
Gibt es irgendeine Art von Befehls-Cache der manchmal zu spät geleert ...
Nö, eigentlich nicht, aber meine Glaskugel ...

... oder so ein Schwachsinn?
Schwachsinn bei VBA im Excel? Ja, eine Menge.

PS: Gib uns Input (und nen Quellcode), dann können wir das Rätselraten sein lassen.

Geschrieben

Hier der Quellcode der ganzen Schose (gekürzte Version):

Private Sub CommandButton3_Click()

Sheets("Monitor").CheckBox1.Value = True

Sheets("Monitor").CheckBox3.Value = True

Sheets("Monitor").CheckBox4.Value = True

Sheets("Monitor").CheckBox5.Value = False

...

Sheets("Monitor").Range("B14").Clear

...

Sheets("Monitor").PrintOut

...

Der Input ist somit ein Befehlsbutton auf der Haupteingabetabelle.

Wie ihr setze ich einige Checkboxen bevor ich drucke, nur manchmal klappts und manchmal nicht. Ich habe auch nicht die aktuellste Version von Office auf dem Rechner, aber das darf nicht als "Entschuldigung" von Office für so einen Schmarrn gelten :-).

Geschrieben

Hm, ich sehe schon bei meinem Code ist nix zu beanstanden, ich wüsste auch nicht was :). Ich habe auch eher gehofft, dass mir jemand, der bekannte Probleme mit VBA und Excel kennt, sagen kann worauf dieser komische Fehler sich begründet. Heute gab es auch schon wieder Fehler, also ist der Button an sich unbrauchbar, obwohl der Code definitiv korrekt ist :-(. Vielleicht richte ich mich mal an Microsoft selbst!

Geschrieben

unschön aber evtl. nen anhaltspunkt.. bau schleifen ein, um zeit zu schinden und die abarbeitung des ganzen makros zu "erzwingen"

ich hatte das problem in word, dass word zwar meinte, mein makro wäre fertig, es allerdings nur mit der datenmenge überfordert war und dann das jeweilige makro von sich aus ohne fehler beendet hat. gute sache bei der fehlerfindung... ;)

Geschrieben

Ja, das ist ne gute Idee. Ich werde das ganze mal in eine Schleife einpacken und nochmal durchrödeln lassen bevor ich drucke, danke für den Tipp. Vielleicht bringt das ja den Erfolg :)

Geschrieben

Ich habe herausgefunden WANN der Fehler auftaucht. Und zwar, wenn ich meinen Testlauf mache, indem ich ein paar Checkboxen anders setze und dann den Button klicke läuft alles so ab wie ich es mir vorstelle. Wenn ich aber die Checkboxen anders setze und die Tabelle zusätzlich ausdrucke, dann taucht das Problem auf wenn ich anschließend auf den Button gehe! Also kommt VBA DANN durcheinander wenn ich die veränderte Tabelle ausdrucke! Hat das eventuell was mit Service Packs usw. zu tun? Das Problem konnte ich mit einer For-Schleife mit 2 Läufen nicht lösen, ich habe keine 10 Läufe oder sowas ausprobiert, da ich denke es wird wohl auch nichts nüzten.

Geschrieben

Wenn Excel vba für eines gut ist, dann sind das sinnfreie "Überraschungen"

Ich hatte kürzlich ein ähnlich gelagertes Problem.

Bei mir ging es um Ado Datenbankabfragen, und Comboboxen mit Werten aus der DB füttern.

Mein Problem war, dass die Werte zwar "da" waren, aber nicht sichtbar im "Frontend" Excel.

Was bei mir geholfen hat, war per sheet(x).select das Sheet zu wechseln, und wieder auf mein eigentliches Sheet zu gehen. Damit hatte Excel das wichtige Sheet "refreshed" und alles war in Butter.

Eventuell hilft das auch bei dir weiter, mal testen tut aber sicher nicht weh ;)

Gruß

Sven

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...