So erstellen Sie ein VBA-Makro oder -Skript in Excel


Mit Microsoft Excel können Benutzer Features und Befehle mithilfe von Makros und Visual Basic für Applikationen-Skripten (VBA) automatisieren. Mit VBA ist die Programmiersprache Excel werden Makros erstellt. Es werden auch automatisierte Befehle basierend auf bestimmten Bedingungen ausgeführt.

Makros sind eine Reihe von zuvor aufgezeichneten Befehlen. Sie werden automatisch ausgeführt, wenn ein bestimmter Befehl erteilt wird. Wenn Sie Aufgaben in Microsoft Excel haben, die Sie wiederholt ausführen, z. B. Buchhaltung, Projektmanagement oder Gehaltsabrechnung, kann die Automatisierung dieser Prozesse viel Zeit sparen.

Klicken Sie in Excel auf der Registerkarte Entwicklerauf die Multifunktionsleistekönnen Benutzer Mausklicks und Tastenanschläge (Makros) aufzeichnen. Einige Funktionen erfordern jedoch eine umfassendere Skripterstellung, als Makros bieten können. Hier wird das Erstellen von VBA-Skripten zu einem großen Vorteil. Benutzer können komplexere Skripte erstellen.

In diesem Artikel wird Folgendes erläutert:

  • Aktivieren von Skripten und Makros
  • Erstellen Makro in Excel
  • Spezifisches Beispiel für ein Makro
  • Weitere Informationen zu VBA
  • Erstellen Sie eine Schaltfläche, um mit VBA zu beginnen
  • Hinzufügen Code zum Erteilen der Tastenfunktionalität
  • Funktionierte es?
  • Aktivieren von Skripten und Makros

    Bevor Sie erstellen können Für Makros oder VBA-Skripte in Excel müssen Sie den Tab Entwicklerim Menü Multifunktionsleisteaktivieren. Die Registerkarte Entwickler ist standardmäßig nicht aktiviert. So aktivieren Sie es:

    • Öffnen Sie ein Excel-Arbeitsblatt.
    • Klicken Sie auf Datei>Optionen>Anpassen Multifunktionsleiste.
      • Aktivieren Sie das Kontrollkästchen neben Entwickler.
        • Klicken Sie im Menü Multifunktionsleisteauf den Tab Entwickler
          • Klicken Sie als Nächstes auf Makrosicherheitund aktivieren Sie das Kontrollkästchen neben Alle Makros aktivieren (nicht empfohlen; potenziell gefährlicher Code kann ausgeführt werden).
          • Klicken Sie anschließend auf OK.
          • Der Grund, warum Makros nicht standardmäßig aktiviert sind und mit einer Warnung versehen sind, ist, dass es sich um Computercode handelt, der Malware enthalten kann.

            In_content_1 all: [300x250] / dfp: [640x360]->

            Stellen Sie sicher, dass das Dokument aus einer vertrauenswürdigen Quelle stammt, wenn Sie an einem freigegebenen Projekt in Excel und anderen Microsoft-Programmen arbeiten.

            Deaktivieren Sie alle, wenn Sie Ihre Skripts und Makros nicht mehr verwenden Makros, um zu verhindern, dass potenziell böswilliger Code andere Dokumente infiziert.

            Makro in Excel erstellen

            Alle Aktionen, die Sie während der Aufzeichnung eines Makros in Excel ausführen, werden hinzugefügt.

            • Klicken Sie auf der Registerkarte Entwickler auf Makro aufzeichnen.
              • Geben Sie einen Makronamenund eine Tastenkombinationein >und eine Beschreibung.Makronamen müssen mit einem Buchstaben beginnen und dürfen keine Leerzeichen enthalten. Die Tastenkombination muss ein Buchstabe sein.
              • Wählen Sie aus den folgenden Optionen, wo Sie das Makro speichern möchten:

                • Persönliche Makro-Arbeitsmappe: Dadurch wird ein verstecktes Excel-Dokument mit gespeicherten Makros erstellt, das mit allen Excel-Dokumenten verwendet werden kann.
                • Neue Arbeitsmappe: Erstellt ein neues Excel-Dokument zum Speichern der erstellten Makros.
                • Diese Arbeitsmappe: Dies wird nur auf das Dokument angewendet, das Sie gerade bearbeiten.
                • Wenn Sie fertig sind, klicken Sie auf OK .

                  • Führen Sie die Aktionen aus, die Sie automatisieren möchten. Wenn Sie fertig sind, klicken Sie auf Aufzeichnung beenden.
                  • Wenn Sie auf Ihr Makro zugreifen möchten, verwenden Sie die von Ihnen angegebene Tastenkombination.
                  • Spezifisches Beispiel eines Makros

                    Beginnen wir mit einer einfachen Tabelle für Kunden und wie viel sie schulden. Zunächst erstellen wir ein Makro zum Formatieren des Arbeitsblatts.

                    Nehmen wir an, Sie entscheiden, dass alle Tabellenkalkulationen ein anderes Format verwenden sollen, z. B. Vor- und Nachname in getrennten Spalten.

                    Sie können dies manuell ändern. Oder Sie können ein Programm mit einem Makro erstellen, um es automatisch richtig zu formatieren.

                    Aufzeichnen Das Makro

                    • Klicken Sie auf Aufzeichnen MakroNennen wir es Format_Customer_Dataund klicken Sie auf OK.
                    • Um die gewünschte Formatierung zu erhalten, ändern wir den Namen der ersten Spalte in Vorname.
                    • Fügen Sie dann eine Spalte neben A ein und nennen Sie sie Nachname.
                    • Markieren Sie alle Namen in der ersten Spalte (die noch Vor- und Nachnamen enthalten) und klicken Sie in der Menünavigation auf Daten.
                    • Klicken Sie auf Text in Spalten.
                      • Häkchen Begrenzt>Weiter>Durch Leerzeichen trennen>Weiter>Fertig stellen. Siehe Abbildung unten und wie Vor- und Nachnamen durch den obigen Vorgang getrennt wurden.
                        • Um das Feld "Restbetrag" zu formatieren, markieren Sie die Beträge. Klicken Sie auf Start>Bedingte Formatierung>Zellenregeln hervorheben>Größer als>0.
                        • Dies hebt die Zellen hervor, die ausgeglichen sind fällig. Wir haben einige Kunden hinzugefügt, die kein Gleichgewicht haben, um die Formatierung weiter zu veranschaulichen.

                          • Gehen Sie zurück zu Entwicklerund klicken Sie auf Aufzeichnung beenden.
                          • Das Makro anwenden

                            Lassen Sie uns Beginnen Sie mit der ursprünglichen Tabelle, bevor Sie das Makro aufzeichnen, um es korrekt zu formatieren. Klicken Sie auf Makros, wählen Sie das soeben erstellte Makro aus und führen Sie es aus.

                            Wenn Sie ein Makro ausführen, wird die gesamte Formatierung für Sie durchgeführt. Dieses soeben erstellte Makro wird im Visual Basic-Editorgespeichert.

                            Benutzer können Makros auf verschiedene Arten ausführen. Lesen Sie Führen Sie ein Makro aus, um mehr zu erfahren.

                            Weitere Informationen zu VBA

                            Um mehr über VBA zu erfahren, klicken Sie im Entwicklerauf MakroTab. Suchen Sie eine, die Sie erstellt haben, und klicken Sie auf Bearbeiten

                            Der Code, den Sie im obigen Feld sehen, wurde beim Aufzeichnen Ihres Makros erstellt.

                            Es ist auch das, was Sie ausführen, wenn Sie andere Kundenzahlungstabellen auf die gleiche Weise formatieren möchten.

                            Erstellen Sie eine Schaltfläche für den Einstieg in VBA

                            Wenn Sie dieselbe Tabelle wie oben für Kunden verwenden und wie viel diese schulden, erstellen Sie einen Währungsumrechner.

                            • Um ein Schaltflächenelement einzufügen, navigieren Sie zum Entwickler tab
                            • Wählen Sie ActiveX-Befehlsschaltflächeaus der Dropdown-Liste neben Einfügenim Abschnitt Steuerelemente.
                              • Ziehen Sie die Schaltfläche an eine beliebige Stelle in der Tabelle, damit Sie leicht darauf zugreifen und sie später ändern können, wenn Sie möchten.
                                • Um den Code anzuhängen, klicken Sie mit der rechten Maustaste auf die Schaltfläche und wählen Sie Eigenschaften. Wir behalten den Namenals Befehlsschaltflächeund die Beschriftungals Konvertierenbei (dies ist der Schaltflächentext).
                                • Code hinzufügen, um der Schaltfläche Funktionalität zu verleihen.

                                  Die VBA-Codierung findet nicht in der Excel-Oberfläche statt. Dies geschieht in einer separaten Umgebung.

                                  • Wechseln Sie zum Tab Entwicklerund vergewissern Sie sich, dass der Entwurfsmodusaktiviert ist.
                                    • Um auf den Code der soeben erstellten Schaltfläche zuzugreifen, Klicken Sie mit der rechten Maustaste darauf und wählen Sie Code anzeigen.
                                      • Wenn Sie sich den Code im folgenden Screenshot ansehen, bemerken Sie, dass der Anfang (Private Sub) und das Ende (End Sub) des Codes bereits vorhanden sind.
                                        • Der folgende Code steuert die Währungsumrechnung.

                                        ActiveCell.Value = (ActiveCell * 1.28)

                                        Unser Zweck in diesem Abschnitt ist die Währung in unserer Tabelle zu konvertieren. Das obige Skript spiegelt den Wechselkurs von GBP zu USD wider. Der neue Wert einer Zelle ist der aktuelle Wert multipliziert mit 1,28.

                                        Der folgende Screenshot zeigt, wie der Code im VBA-Fenster aussieht, nachdem Sie ihn eingefügt haben.

                                        • Gehe zu Dateiin Klicken Sie in der oberen Navigationsleiste auf Schließen und zurück zu Microsoft Excel, um zur Excel-Hauptoberfläche zurückzukehren.
                                        • Hat es funktioniert?

                                          Bevor Sie Ihren Code testen können müssen Sie zuerst den Entwurfsmodus deaktivieren (klicken Sie darauf), um weitere Änderungen zu vermeiden und die Schaltflächenfunktion zu aktivieren.

                                          • Geben Sie eine beliebige Zahl in Ihre Tabelle ein und klicken Sie dann auf KonvertierenTaste. Wenn sich der Wert Ihrer Zahl um ungefähr ein Viertel erhöht, hat dies funktioniert.
                                          • In diesem Beispiel habe ich die Zahl 4 in eine Zelle eingefügt. Nachdem Sie auf Konvertierengeklickt haben, wurde die Zahl in 5.12 geändert. Da 4 mal 1.28 5.12 ist, wurde der Code korrekt ausgeführt.

                                            Nachdem Sie nun wissen, wie Sie ein Makro oder Skript in Excel erstellen, können Sie damit eine Vielzahl von Aktionen in Excel automatisieren.

                                            Benutzerdefinierte Funktionen in Excel mit VBA

                                            Zusammenhängende Posts:


                                            13.12.2019