Zehn Tipps zum Codieren von Excel VBA-Makros

Zehn vernünftige Vorschläge, um das Codieren von Excel VBA schneller und einfacher zu machen. Diese Tipps basieren auf Excel 2010 (funktionieren jedoch in fast allen Versionen) und wurden von dem O'Reilly-Buch "Excel 2010 - The Missing Manual" von Matthew MacDonald inspiriert.

1 - Testen Sie Ihre Makros immer in einer Einweg-Testtabelle, in der Regel einer Kopie, mit der sie funktionieren sollen. Rückgängig machen funktioniert nicht mit Makros. Wenn Sie also ein Makro codieren, das Ihre Tabelle faltet, spindelt und verstümmelt, haben Sie kein Glück, wenn Sie diesen Tipp nicht befolgt haben.

2 - Das Verwenden von Tastenkombinationen kann gefährlich sein, da Excel Sie nicht warnt, wenn Sie eine Tastenkombination auswählen, die Excel bereits verwendet. In diesem Fall verwendet Excel die Tastenkombination für das Makro und nicht die integrierte Tastenkombination. Überlegen Sie, wie überrascht Ihr Chef sein wird, wenn er Ihr Makro lädt und dann Strg-C eine Zufallszahl zur Hälfte der Zellen in seiner Tabelle hinzufügt.

Matthew MacDonald macht diesen Vorschlag in "Excel 2010 - The Missing Manual".

Im Folgenden finden Sie einige gebräuchliche Tastenkombinationen, die Sie Makroverknüpfungen niemals zuweisen sollten, weil sie zu häufig verwendet werden:

  • Strg + S (Speichern)
  • Strg + P (Drucken)
  • Strg + O (Öffnen)
  • Strg + N (Neu)
  • Strg + X (Beenden)
  • Strg + Z (Rückgängig machen)
  • Strg + Y (Wiederholen / Wiederholen)
  • Strg + C (Kopieren)
  • Strg + X (Ausschneiden)
  • Strg + V (Einfügen)

Verwenden Sie zur Vermeidung von Problemen immer die Makrotastenkombinationen Strg + Umschalt + Buchstabe, da diese Kombinationen viel seltener sind als die Tastenkombinationen Strg + Buchstabe. Und wenn Sie Zweifel haben, weisen Sie beim Erstellen eines neuen, nicht getesteten Makros keine Tastenkombination zu.

3 - Sie können sich nicht an Alt-F8 (die Standard-Makro-Verknüpfung) erinnern? Bedeuten die Namen nichts für dich? Da Excel Makros in jeder geöffneten Arbeitsmappe für jede andere derzeit geöffnete Arbeitsmappe verfügbar macht, können Sie ganz einfach eine eigene Makrobibliothek mit all Ihren Makros in einer separaten Arbeitsmappe erstellen. Öffnen Sie diese Arbeitsmappe zusammen mit Ihren anderen Arbeitsblättern. "Stellen Sie sich vor, Sie bearbeiten eine Arbeitsmappe mit dem Namen" SalesReport.xlsx "und Sie öffnen eine andere Arbeitsmappe mit dem Namen" MyMacroCollection.xlsm ", die einige nützliche Makros enthält. Sie können die in" MyMacroCollection.xlsm "enthaltenen Makros mit" SalesReport.xlsx "ohne" verwenden ein Problem. " Matthew sagt, dass dieses Design das Teilen und Wiederverwenden von Makros in Arbeitsmappen (und zwischen verschiedenen Personen) erleichtert..

4 - Fügen Sie möglicherweise Schaltflächen hinzu, um auf die Makros im Arbeitsblatt zu verweisen, das Ihre Makrobibliothek enthält. Sie können die Schaltflächen in beliebigen funktionellen Gruppierungen anordnen, die für Sie sinnvoll sind, und dem Arbeitsblatt Text hinzufügen, um ihre Funktionsweise zu erläutern. Sie werden sich nie fragen, was ein Makro mit kryptischem Namen tatsächlich wieder tut.

5 - Die neue Makrosicherheitsarchitektur von Microsoft wurde erheblich verbessert. Es ist jedoch noch praktischer, Excel anzuweisen, den Dateien in bestimmten Ordnern auf Ihrem Computer (oder auf anderen Computern) zu vertrauen. Wählen Sie einen bestimmten Ordner auf Ihrer Festplatte als vertrauenswürdigen Speicherort aus. Wenn Sie eine Arbeitsmappe öffnen, die an diesem Speicherort gespeichert ist, wird sie automatisch als vertrauenswürdig eingestuft.

6 - Versuchen Sie beim Codieren eines Makros nicht, die Zellenauswahl in das Makro zu integrieren. Nehmen Sie stattdessen an, dass die Zellen, die das Makro verwenden wird, vorausgewählt worden sind. Sie können die Maus einfach über die Zellen ziehen, um sie auszuwählen. Das Codieren eines Makros, das flexibel genug ist, um dasselbe zu tun, ist wahrscheinlich voller Fehler und schwer zu programmieren. Wenn Sie etwas programmieren möchten, versuchen Sie herauszufinden, wie Sie Validierungscode schreiben, um zu überprüfen, ob im Makro stattdessen eine entsprechende Auswahl getroffen wurde.

7 - Möglicherweise wird von Excel ein Makro für die Arbeitsmappe ausgeführt, die den Makrocode enthält. Dies ist jedoch nicht immer der Fall. Excel führt das Makro in der aus aktive Arbeitsmappe. Das ist die Arbeitsmappe, die Sie zuletzt angesehen haben. Wie Matthew es erklärt: "Wenn Sie zwei Arbeitsmappen geöffnet haben und die Windows-Taskleiste verwenden, um zur zweiten Arbeitsmappe und dann zurück zum Visual Basic-Editor zu wechseln, führt Excel den Makro für die zweite Arbeitsmappe aus."

8 - Matthew schlägt vor: "Um die Makrokodierung zu vereinfachen, sollten Sie versuchen, Ihre Fenster so anzuordnen, dass Sie das Excel-Fenster und das Visual Basic-Editor-Fenster gleichzeitig nebeneinander sehen können." Excel wird dies jedoch nicht tun. (Mit Alles anordnen im Menü Ansicht werden nur die Arbeitsmappen angeordnet. Visual Basic wird von Excel als ein anderes Anwendungsfenster betrachtet.) Windows wird dies jedoch tun. Schließen Sie in Vista alle bis auf die beiden Elemente, die Sie anordnen möchten, und klicken Sie mit der rechten Maustaste auf die Taskleiste. Wählen Sie "Fenster nebeneinander anzeigen". Verwenden Sie in Windows 7 die Funktion "Ausrichten". (Online nach "Windows 7 Features Snap" suchen, um Anweisungen zu erhalten.)

9 - Matthews Top-Tipp: "Viele Programmierer finden lange Strandspaziergänge oder einen Krug Mountain Dew eine hilfreiche Methode, um den Kopf frei zu bekommen."

Und natürlich die Mutter aller VBA-Tipps:

10 - Das erste, was Sie versuchen sollten, wenn Sie sich die Anweisungen oder Schlüsselwörter, die Sie in Ihrem Programmcode benötigen, nicht vorstellen können, ist, den Makrorecorder einzuschalten und eine Reihe von Vorgängen auszuführen, die ähnlich zu sein scheinen. Untersuchen Sie dann den generierten Code. Es wird Sie nicht immer auf das Richtige hinweisen, aber es tut es oft. Zumindest gibt es Ihnen einen Ort, an dem Sie anfangen können zu suchen.

Quelle

MacDonald, Matthew. "Excel 2010: Das fehlende Handbuch." 1 Ausgabe, O'Reilly Media, 4. Juli 2010.