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 (aber sie funktionieren in fast allen Versionen) und viele wurden vom O'Reilly-Buch "Excel 2010 - The Missing Manual" von Matthew MacDonald inspiriert.

1 - Testen Sie Ihre Makros immer in einer wegwerfbaren Testtabelle, normalerweise einer Kopie einer, für die sie entwickelt wurde. Rückgängig funktioniert nicht mit Makros. Wenn Sie also ein Makro codieren, das Ihre Tabelle faltet, spindelt und verstümmelt, haben Sie kein Glück, es sei denn, Sie haben diesen Tipp befolgt.

2 - Die Verwendung 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 einen Zufall hinzufügt Nummer auf die Hälfte der Zellen in seiner Tabelle.

instagram viewer

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

Hier sind einige häufig verwendete Tastenkombinationen, die Sie Makroverknüpfungen niemals zuweisen sollten, da 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)
  • Strg + Y (Wiederherstellen / Wiederholen)
  • Strg + C (Kopieren)
  • Strg + X (Ausschneiden)
  • Strg + V (Einfügen)

Um Probleme zu vermeiden, verwenden Sie immer Strg + Umschalt + Buchstaben-Makrotastenkombinationen, da diese Kombinationen viel seltener sind als die Tastenkombinationen Strg + Buchstaben. 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-Makroverknüpfung) erinnern? Bedeuten Ihnen die Namen nichts? Da Excel Makros in jeder geöffneten Arbeitsmappe für jede andere Arbeitsmappe verfügbar macht Derzeit ist es einfach, eine eigene Makrobibliothek mit all Ihren Makros in einer separaten zu erstellen Arbeitsmappe. Öffnen Sie diese Arbeitsmappe zusammen mit Ihren anderen Tabellen. Wie Matthew es ausdrückt: "Stellen Sie sich vor, Sie bearbeiten eine Arbeitsmappe mit dem Namen SalesReport.xlsx und ö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 problemlos mit SalesReport.xlsx verwenden. " Matthew sagt, dass dieses Design es einfach macht, Makros über Arbeitsmappen (und zwischen verschiedenen) hinweg zu teilen und wiederzuverwenden Menschen).

4 - Erwägen Sie außerdem das Hinzufügen von Schaltflächen zum Verknüpfen mit den Makros im Arbeitsblatt, das Ihre Makrobibliothek enthält. Sie können die Schaltflächen in beliebigen Funktionsgruppierungen anordnen, die für Sie sinnvoll sind, und dem Arbeitsblatt Text hinzufügen, um zu erläutern, was sie tun. Sie werden sich nie wieder fragen, was ein kryptisch benanntes Makro tatsächlich wieder tut.

5 - Die neue Makrosicherheitsarchitektur von Microsoft wurde erheblich verbessert. Es ist jedoch noch bequemer, 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 an diesem Speicherort gespeicherte Arbeitsmappe öffnen, 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 wurden. 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 stattdessen eine geeignete Auswahl im Makro getroffen wurde.

7 - Möglicherweise wird in 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 sich zuletzt angesehen haben. Wie Matthew es erklärt: "Wenn Sie zwei Arbeitsmappen geöffnet haben und zu der Windows-Taskleiste wechseln In der zweiten Arbeitsmappe und dann zurück zum Visual Basic-Editor führt Excel das Makro in der zweiten aus Arbeitsmappe."

8 - Matthew schlägt vor: "Um die Makrocodierung zu vereinfachen, versuchen Sie, Ihre Fenster so anzuordnen, dass Sie das Excel-Fenster und das Visual sehen können Grundlegendes Editorfenster gleichzeitig nebeneinander. "Aber Excel wird es nicht tun. (Alle anordnen im Menü Ansicht ordnet nur das an Arbeitsmappen. Visual Basic wird von Excel als ein anderes Anwendungsfenster betrachtet.) Windows wird dies jedoch tun. Schließen Sie in Vista alle außer den beiden, die Sie anordnen möchten, und klicken Sie mit der rechten Maustaste auf die Taskleiste. Wählen Sie "Windows nebeneinander anzeigen". Verwenden Sie in Windows 7 die Funktion "Fang". (Suchen Sie online nach "Windows 7 Features Snap" für Anweisungen.)

9 - Matthews Top-Tipp: "Viele Programmierer finden lange Spaziergänge am Strand oder das Verzehren eines Kruges Mountain Dew hilfreich, um den Kopf frei zu bekommen."

Und natürlich die Mutter aller VBA-Tipps:

10 - Das erste, was Sie versuchen sollten, wenn Sie nicht an die Anweisungen oder Schlüsselwörter denken können, die Sie in Ihrem Programmcode benötigen, ist das Aktivieren von Makrorecorder und machen Sie eine Reihe von Operationen, 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.