Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Eigenartiges Verhalten von VBA in Excel

Empfohlene Antworten

Veröffentlicht

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.

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.

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 :-).

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!

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... ;)

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 :)

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.

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.