Objektvariable Oder With-blockvariable Vba

Okay, Leute, lasst uns ehrlich sein. Wir alle kennen sie. Wir alle lieben... oder hassen... sie. Die Rede ist von Objektvariablen und With-Blöcken in VBA.
Ich habe da so eine... sagen wir... Meinung. Und die ist vielleicht nicht gerade Mainstream. Aber hey, dafür sind wir doch hier, oder?
Objektvariablen: Die Fleißigen Helfer
Also, Objektvariablen. Im Grunde genommen sind das kleine Behälter. In denen packen wir Objekte. Klingt simpel, oder? Ist es auch! Aber manchmal...
Stellt euch vor, ihr habt einen Hund. Nennen wir ihn Bello. Jedes Mal, wenn ihr "Bello, Sitz!" ruft, müsst ihr erstmal erklären, WER Bello ist. "Mein Hund Bello, Sitz!". Nervig, oder? Eine Objektvariable ist wie ein kleines Schild mit "Bello" drauf. Ihr zeigt auf Bello, hängt das Schild dran, und ab sofort reicht "Bello, Sitz!". Viel einfacher!
Aber manchmal vergesse ich, das Schild aufzuhängen. Dann schreie ich "Bello, Sitz!" und... Stille. VBA mag es gar nicht, wenn man unbeschilderte Bellos anbrüllt. Fehlermeldung! Dann heißt es wieder: Suchen, Schild finden, aufhängen... *seufz*.
Manchmal denke ich mir: "Wozu überhaupt der Aufwand mit dem Schild?". Ich könnte ja einfach immer "Mein Hund Bello, Sitz!" sagen. Okay, ist länger. Aber vielleicht auch zuverlässiger?
With-Blöcke: Die Abkürzungs-Künstler
Und dann sind da die With-Blöcke. Das sind die coolen Kids, die immer Abkürzungen nehmen. "Mit diesem Objekt tue dies, das und jenes". Super effizient!
Sagen wir, ihr wollt Bello baden, bürsten und füttern. Ohne With-Block müsstet ihr jedes Mal sagen: "Bello.baden, Bello.bürsten, Bello.füttern". Langweilig! Mit einem With-Block könnt ihr schreiben: "Mit Bello: .baden, .bürsten, .füttern". Voila! Spart Tipparbeit.
Aber... (ja, es gibt ein Aber) ... ich finde, With-Blöcke können unübersichtlich werden. Man verliert schnell den Überblick, auf WELCHEN Bello man sich gerade bezieht. War das jetzt der Bello von nebenan oder doch mein eigener?
Und wehe dem, der innerhalb eines With-Blocks das Objekt ändert! Dann tanzen die Daten Tango. Fehlersuche deluxe!
Meine... Äh... Unbeliebte Meinung?
Jetzt kommt's: Ich... ich mag With-Blöcke nicht so gerne. Ich weiß, ich weiß. Steinigt mich! Aber ich finde, sie machen den Code oft komplizierter als nötig.
Ich gebe zu, sie können praktisch sein. Gerade wenn man es mit wirklich langen Objektnamen zu tun hat. Aber oft bevorzuge ich es, die Objektnamen auszuschreiben. Einfach, weil ich dann genau weiß, was passiert.
Ist das ineffizient? Vielleicht. Ist es langsamer zu schreiben? Wahrscheinlich. Ist es leichter zu lesen und zu debuggen? Für MICH, ja! Und das ist doch das Wichtigste, oder?
Ich sage nicht, dass ihr keine With-Blöcke benutzen sollt. Aber vielleicht... denkt mal drüber nach. Gibt es vielleicht eine einfachere Lösung?
Und Objektvariablen? Ja, die sind notwendig. Die liebe ich... meistens. Auch wenn sie manchmal meine Geduld auf die Probe stellen.
Am Ende des Tages geht es darum, den Code zu schreiben, der für euch am besten funktioniert. Ob das nun mit oder ohne With-Blöcke ist, ist eure Entscheidung. Aber vielleicht... ist es Zeit, die Konventionen ein wenig zu hinterfragen. Nur so ein Gedanke.
Und jetzt? Geht raus und codiert! Und denkt dran: Bello muss gefüttert werden... egal wie ihr ihn ansprecht.

















