Wenn es sinnvoll ist, Option Explicit zu verwenden - Excel-Tipps

Inhaltsverzeichnis

Es scheint, dass ich im Laufe der Jahre aufgrund meiner kontroversen Haltung, dass Option Explicit in VBA nicht nützlich ist, einige Angst verursacht habe. Ich wurde kürzlich daran erinnert, als ich eine Skype-Sitzung am Excel Weekend of Brazil durchführte. Ich habe ein Buch über Excel VBA für QUE geschrieben. Dieses Buch wurde für den brasilianischen Markt ins Portugiesische übersetzt. Anscheinend habe ich den feinen Leuten in Brasilien 15 Jahre lang Excel VBA beigebracht. Jetzt, da ich 15 Jahre älter und weiser bin, werde ich zugeben, dass es gute Gründe geben könnte, Option Explicit zu verwenden.

Bei Notre Dame nahm ich an Business-Kursen mit starker Programmierkonzentration teil. Unter seltsamen Umständen nahm ich an jedem Programmierkurs teil, der bei ND sowohl an der Ingenieur- als auch an der Business School angeboten wurde. Ich habe Fortran, Pascal, Assembler und COBOL gelernt. Ich habe das Programmieren geliebt. Diese Programmierkurse retteten meinen GPA und verhinderten, dass ich rausgeworfen wurde. Früher sagten uns unsere Professoren, wir müssten unser Programm planen und Flussdiagramme von Hand zeichnen, bevor wir mit dem Codieren beginnen. Ich war ein Rebell. Ich würde zuerst das Programm schreiben und dann das Flussdiagramm zeichnen, nachdem ich fertig war.

Ich habe die ersten 18 Monate meiner Karriere damit verbracht, COBOL-Programme zu schreiben. Dann wechselte ich zu Finance und arbeitete zehn Jahre lang im Finanz- und Rechnungswesen. Ich habe hauptsächlich Buchhaltung betrieben, aber als ich Code schreiben musste, wusste ich genug, um Code zu schreiben.

Ich programmierte Makros in Lotus 1-2-3 und begann dann mit dem Schreiben von VBA-Makros, nachdem wir 1995 zu Excel gewechselt waren. Zu diesem Zeitpunkt war ich immer noch rebellisch: Das vorherige Deklarieren meiner Variablen schien zu viel wie das Zeichnen eines Flussdiagramms vor dem Schreiben des Codes. Ich bin nie einer, der voraus plant. Tauchen Sie ein. Starten Sie die Codierung. Wenn Sie irgendwo auf dem Weg eine neue Variable benötigen, erstellen Sie einfach die Variable.

Ich war ein Rebell, schrieb zuerst den Code und zeichnete später das Flussdiagramm. Das Deklarieren von Variablen, so argumentierte ich, ist für formale Programmierer. Wenn Sie im Rechnungswesen arbeiten und lediglich 20 Codezeilen ausschalten, gibt es keinen Grund, Ihre Variablen vorab zu deklarieren.

Meine Haltung dazu hat mich zu einigen freundschaftlichen Auseinandersetzungen mit anderen Excel-Experten geführt. Jordan Goldmeier. Bob Phillips. Cristiano Galvão.

Zunächst einmal habe ich immer empfohlen, Ihre Objektvariablen zu deklarieren. Im folgenden Code wird WSD als Arbeitsblatt deklariert und mit dem Befehl Set zugewiesen. Wenn Sie die Objektvariable deklarieren, können Sie alle Eigenschaften und Methoden durchsuchen, indem Sie die Variable gefolgt von einem Punkt eingeben.

Das Deklarieren von Objektvariablen führt zu dieser hilfreichen automatischen Vervollständigung

Wenn Sie Option Explicit nicht verwenden, besteht das Risiko von Rechtschreibfehlern. Im folgenden Code wird eine Variable namens FinalRow erstellt. In der nächsten Zeile wollte ich wahrscheinlich eine Schleife von 2 zu FinalRow erstellen, aber ich habe die Variable als Fina1Row falsch eingegeben.

Vor Jahrzehnten haben IBM Selectric-Typerwriter den Schlüssel 1 weggelassen, weil die Leute stattdessen L in Kleinbuchstaben eingeben würden.

Ohne Option Explicit kann jemand nicht erkennen, dass der Tippfehler vorhanden ist. Die FinalRow-Variable enthält möglicherweise 100. Der Code in der Schleife wird jedoch nicht ausgeführt, da die Fina1Row-Variable nie initialisiert wurde und eine Null enthält.

Um zu verhindern, dass die Frustration Code mit potenziellen Tippfehlern debuggt, können Sie Extras, Optionen im VBA-Menü öffnen. Wählen Sie das unten gezeigte Feld Erforderliche Variablendeklaration aus.

Aktivieren Sie dieses Kontrollkästchen, um Tippfehler zu erkennen.

Alle zukünftigen Module beginnen mit einer Zeile mit der Aufschrift Option Explicit. Sie müssen oben im Makro neue Zeilen hinzufügen, die die Variablen FinalRow und i definieren. Excel informiert Sie erst über Rechtschreibfehler, wenn Sie tatsächlich versuchen, das Makro auszuführen. Sie werden dann darauf hingewiesen, dass die Variable nicht definiert ist.

Das hervorgehobene Wort ist falsch geschrieben.

Es ist also Ihr Anruf. Wenn es Ihnen nichts ausmacht, vorauszuplanen und alle Ihre Variablen zu deklarieren, wird Ihnen das Sicherheitsnetz von VBA angezeigt, wenn Sie eine Variable falsch eingegeben haben. Ich bevorzuge den Nervenkitzel, den Code zeilenweise zu debuggen und meine Tippfehler selbst zu finden. Wenn Sie jedoch keine Gefahr haben, gefährlich zu leben, können Sie Option Explicit aktivieren.

Ich bin mir nicht sicher, ob meine Aktionen die Schritte 5, 8 oder 9 der 12 Schritte umfassten. Aber wenn jemand wegen eines Tippfehlers zusätzliche Zeit damit verbracht hat, seinen Code zu debuggen, tut es mir leid, dass ich Ihnen diesen Schmerz verursacht habe.

Jeden Samstag werde ich eine meiner schlechten Gewohnheiten in Excel besprechen und diskutieren, warum Sie vielleicht tun sollten, was ich sage, anstatt zu tun, was ich tue.

Excel-Gedanke des Tages

Ich habe meine Excel Master-Freunde um Rat zu Excel gebeten. Der heutige Gedanke zum Nachdenken:

"Ändern Sie die Tabellenkalkulationsentwickler nicht während des Scrums."

Jordan Goldmeier

Interessante Beiträge...