Verwenden Sie Makros in Excel auf dem Mac, um Zeit zu sparen und mehr zu tun
Excel auf dem Mac war nicht immer das gleiche Kraftpaket wie unter Windows. Makros funktionieren wirklich nicht, wenn sie ausschließlich für den Mac erstellt wurden.
Ab 2013 brachte Microsoft Makros mit. Es gibt zwei Arten von Makros: solche, die Sie erstellen können, indem Sie Ihre Aktionen schnell aufzeichnen, und solche, die VBA verwenden, um erweiterte Automatisierungen zu entwerfen. Mit Office 2016 verwendet Excel auf allen Plattformen dieselbe Codebase. Diese Änderung macht es für Makros einfacher, plattformübergreifend zu arbeiten.
Schauen wir uns also an, wie das derzeit unter macOS funktioniert.
Aktivieren von Makros in Excel auf dem Mac
Das Arbeiten mit Makros in Excel auf Ihrem Mac ist möglicherweise nicht standardmäßig aktiviert. Diese Einstellung ist darauf zurückzuführen, dass Makros ein möglicher Malware-Vektor sein können. So schützen Sie sich vor Microsoft Word-Malware: Wie schützen Sie sich vor Microsoft Word-Malware? Wussten Sie, dass Ihr Computer durch schädliche Microsoft Office-Dokumente infiziert werden kann oder dass Sie dazu aufgefordert werden die Einstellungen, die sie benötigen, um Ihren Computer zu infizieren? Weiterlesen . Der einfachste Weg zu sagen ist, ob Sie die haben Entwickler Registerkarte auf der Multifunktionsleiste in Excel. Wenn Sie es nicht sehen, ist es einfach zu aktivieren.
Klicke auf Excel in der Menüleiste und wählen Sie dann Einstellungen in der Dropdown-Liste Klicken Sie im Menü auf Multifunktionsleiste und Symbolleiste. In der rechten Liste, Entwickler Sollte sich unten befinden, klicken Sie auf das Kontrollkästchen. Klicken Sie abschließend auf sparen und Sie sollten die Registerkarte "Entwickler" am Ende der Multifunktionsleiste sehen.
Speichern Sie es in einem neuen Format, nachdem Sie jede Arbeitsmappe mit Makros erstellen .xlsm Verwenden Sie die Makros nach dem erneuten Öffnen der Datei. Wenn Sie es vergessen, erinnert Sie Excel jedes Mal, wenn Sie versuchen, zu speichern. Sie müssen außerdem jedes Mal, wenn Sie die Datei öffnen, Makros aktivieren.
Manuelles Aufzeichnen eines Makros in Excel auf einem Mac
Sie können jedoch Makros codieren. 4 Fehler, die Sie beim Programmieren von Excel-Makros mit VBA vermeiden können. 4 Fehler, die Sie beim Programmieren von Excel-Makros mit VBA vermeiden können. Einfacher Code und Makros sind die Schlüssel zu Microsoft Excel-Supermächten. Auch Nicht-Programmierer können mit Virtual Basics for Applications (VBA) auf einfache Weise beeindruckende Funktionen in ihre Tabellenkalkulation einfügen. Vermeiden Sie einfach diese Anfängerfehler beim Programmieren! Lesen Sie mehr, das könnte nicht für jeden etwas sein. Wenn Sie nicht mit VBA arbeiten möchten, können Sie in Excel die Schritte für Ihr Makro in einem vorhandenen Arbeitsblatt aufzeichnen. Klicken Sie auf die Registerkarte "Entwickler", um Ihre Optionen anzuzeigen.
Sie suchen nach der dritten Option in der Multifunktionsleiste, Makro aufnehmen. Klicken Sie hier, um ein Dialogfeld aufzurufen, in dem Sie Ihrem Makro einen Namen geben und eine Tastenkombination festlegen können. Sie können Ihr Makro auf den Bereich festlegen Aktuelle Arbeitsmappe, ein Neues Arbeitsbuch, oder in deinem Persönliche Makro-Arbeitsmappe. Die Persönliche Makro-Arbeitsmappe befindet sich in Ihrem Benutzerprofil und ermöglicht Ihnen die Verwendung Ihrer Makros zwischen Ihren Dateien.
Sobald Sie Ihre Aktionen aufgezeichnet haben, sind sie auf derselben Registerkarte verfügbar. Durch Klicken auf Makros werden die in Ihrer Arbeitsmappe gespeicherten Makros angezeigt. Klicken Sie auf Ihren Makronamen und klicken Sie auf Lauf um Ihre aufgezeichneten Aktionen auszuführen.
Beispiel 1: Tagesumsatz und Stundendurchschnitt
Für ein Beispielmakro werden Sie ein tägliches Verkaufsblatt durchlaufen, wobei die Verkäufe nach Stundensummen unterteilt sind. Ihr Makro fügt einen täglichen Umsatz hinzu und fügt dann in der letzten Spalte jedes stündlichen Zeitraums einen Durchschnitt hinzu. Wenn Sie im Einzelhandel oder in einer anderen Verkaufsposition arbeiten, ist dies eine nützliche Tabelle, um den Umsatz zu verfolgen.
Wir müssen das erste Blatt einrichten. Wenn Sie dieses erste Leerzeichen als Vorlage verwenden, um jeden Tag in eine neue Registerkarte zu kopieren, können Sie etwas Zeit sparen. In der ersten Spalte / Zeile tragen Sie Hour / Date ein. Fügen Sie montags bis freitags oben hinzu.
Setzen Sie dann in der ersten Spalte eine Stundenzahl von 8-5. Ich habe 24 Stunden verwendet, aber Sie können auch die AM / PM-Notation verwenden. Ihr Blatt sollte dem obigen Screenshot entsprechen.
Fügen Sie eine neue Registerkarte hinzu und kopieren Sie Ihre Vorlage hinein. Dann geben Sie Ihre Verkaufsdaten für den Tag ein. (Wenn Sie keine Daten zum Ausfüllen dieses Arbeitsblatts haben, können Sie eingeben = RandBetween (10,1000) in allen Zellen, um Dummy-Daten zu erstellen.) Klicken Sie anschließend auf Entwickler im Band.
Klicken Sie dann auf Makro aufnehmen. Geben Sie im Dialog den Namen als ein AverageandSum und lass es in Dieses Arbeitsbuch. Sie können eine Tastenkombination festlegen, wenn Sie möchten. Sie können eine Beschreibung eingeben, wenn Sie weitere Informationen zu den Funktionen des Makros benötigen. Klicken Sie auf OK, um die Einrichtung des Makros zu starten.
Geben Sie unten in die stündlichen Listen ein Tägliche Summen. Geben Sie in die Zelle daneben ein = SUMME (B2: B10). Dann kopieren Sie das und fügen Sie es in die restlichen Spalten ein. Dann im Header hinzufügen Durchschnittlich nach der letzten Spalte. Geben Sie dann in die nächste Zelle unten ein = Durchschnitt (B2: F2). Fügen Sie diese dann in die Zellen der restlichen Spalte ein.
Dann klick Höre auf, aufzunehmen. Ihr Makro kann jetzt auf jedem neuen Blatt verwendet werden, das Sie Ihrer Arbeitsmappe hinzufügen. Sobald Sie ein anderes Datenblatt haben, gehen Sie zurück zu Entwickler und klicken Sie auf Makros. Ihr Makro sollte hervorgehoben sein. Klicken Sie auf Ausführen, um Ihre Summen und Durchschnittswerte hinzuzufügen.
In diesem Beispiel können Sie einige Schritte einsparen, jedoch für komplexere Aktionen, die sich summieren können. Wenn Sie dieselben Vorgänge für Daten mit identischer Formatierung ausführen, verwenden Sie aufgezeichnete Makros.
VBA-Makros in Excel auf dem Mac
Manuell aufgezeichnete Makros in Excel helfen mit Daten, die immer die gleiche Größe und Form haben. Dies ist auch nützlich, wenn Sie Aktionen auf dem gesamten Arbeitsblatt ausführen möchten. Sie können Ihr Makro verwenden, um das Problem zu beweisen.
Fügen Sie dem Blatt eine weitere Stunde und einen Tag hinzu, und führen Sie das Makro aus. Sie sehen, dass das Makro Ihre neuen Daten überschreibt. Um dies zu umgehen, verwenden Sie Code, um das Makro mit VBA dynamischer zu gestalten. VBA ist eine abgespeckte Version von Visual Basic 4. Große Websites, die Sie zu einem Visual Basic-Guru machen. 4 Große Websites, die Sie zu einem Visual Basic-Guru machen möchten Visual Basic? Hier sind einige großartige Ressourcen, um Ihnen den Einstieg zu erleichtern. Weiterlesen . Die Implementierung konzentriert sich auf die Automatisierung für Office.
Es ist nicht so einfach zu erlernen wie Applescript. Lernen Sie, Ihren Mac mit AppleScript zu automatisieren [Teil 1: Einführung]. Lernen Sie, wie Sie Ihren Mac mit AppleScript automatisieren [Teil 1: Einführung]. Lesen Sie mehr. Die Office-Automatisierung basiert jedoch vollständig auf Visual Basic. Wenn Sie hier also arbeiten, können Sie schnell umkehren und sie in anderen Office-Apps verwenden. (Es kann auch eine große Hilfe sein, wenn Sie bei der Arbeit mit einem Windows-PC festsitzen.)
Wenn Sie mit VBA in Excel arbeiten, haben Sie ein separates Fenster. Der Screenshot oben zeigt unser aufgezeichnetes Makro, wie es im Code-Editor angezeigt wird. Der Fenstermodus kann beim Lernen mit Ihrem Code hilfreich sein. Wenn Ihr Makro aufgehängt ist, gibt es Debugging-Tools, um den Status Ihrer Variablen und Blattdaten zu überprüfen.
Office 2016 enthält jetzt den vollständigen Visual Basic-Editor. Damit können Sie die Objektbrowser- und Debugging-Tools verwenden, die bisher auf die Windows-Version beschränkt waren. Sie können auf den Objektbrowser zugreifen, indem Sie auf gehen Ansicht> Objektbrowser oder einfach drücken Umschalt + Befehl + B. Sie können dann alle verfügbaren Klassen, Methoden und Eigenschaften durchsuchen. Es war sehr hilfreich beim Erstellen des Codes im nächsten Abschnitt.
Beispiel 2: Tagesumsatz und Stundendurchschnitt mit Code
Bevor Sie mit der Codierung Ihres Makros beginnen, fügen Sie der Vorlage eine Schaltfläche hinzu. Dieser Schritt macht es unerfahrenen Benutzern wesentlich leichter, auf Ihr Makro zuzugreifen. Sie können auf eine Schaltfläche klicken, um das Makro aufzurufen, anstatt sich in die Registerkarten und Menüs zu begeben.
Wechseln Sie wieder zum leeren Vorlagenblatt, das Sie im letzten Schritt erstellt haben. Klicke auf Entwickler um zur Registerkarte zurückzukehren. Wenn Sie sich auf der Registerkarte befinden, klicken Sie auf Taste. Klicken Sie anschließend irgendwo in das Blatt der Vorlage, um die Schaltfläche zu platzieren. Das Makros-Menü wird angezeigt, benennen Sie Ihr Makro und klicken Sie auf Neu.
Das Visual Basic-Fenster wird geöffnet. Sie werden es als aufgelistet sehen Modul2 im Projektbrowser. Der Codebereich wird haben Sub AverageandSumButton () oben und ein paar Zeilen nach unten End Sub. Ihr Code muss zwischen diesen beiden liegen, da es der Anfang und das Ende Ihres Makros ist.
Schritt 1: Variablen deklarieren
Zu Beginn müssen Sie alle Variablen deklarieren. Die Grundlagen der Computerprogrammierung 101 - Variablen und Datentypen Die Grundlagen der Computerprogrammierung 101 - Variablen und Datentypen Nachdem Sie die objektorientierte Programmierung vor und deren Namensgebung ein wenig erläutert haben, Ich dachte, es ist an der Zeit, dass wir uns mit den absoluten Grundlagen des Programmierens auf eine nicht-sprachspezifische Weise befassen. Dies… Lesen Sie weiter. Diese befinden sich im folgenden Codeblock, aber es wird darauf hingewiesen, wie sie aufgebaut sind. Sie sollten alle Variablen mit deklarieren Dim vor dem Namen und dann wie mit dem Datentyp.
Sub AverageandSumButton () Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder As String Dim AllCells As Range Dim Zielzellen As Range Dim AverageTarget As Range Dim SumTarget As Range
Da Sie nun alle Ihre Variablen haben, müssen Sie sofort einige der Bereichsvariablen verwenden. Bereiche sind Objekte, die Abschnitte des Arbeitsblatts als Adressen enthalten. Die Variable Alle Zellen wird auf alle aktiven Zellen im Arbeitsblatt gesetzt, die die Spalten- und Zeilenbeschriftungen enthalten. Sie erhalten dies, indem Sie die ActiveSheet Objekt und dann ist es UsedRange Eigentum.
Das Problem ist, dass Sie nicht möchten, dass die Bezeichnungen in den Durchschnitts- und Summendaten enthalten sind. Stattdessen verwenden Sie eine Teilmenge des AllCells-Bereichs. Dies wird der TargetCells-Bereich sein. Sie geben den Bereich manuell an. Die Startadresse ist die Zelle in der zweiten Zeile in der zweiten Spalte des Bereichs.
Du rufst dies an, indem du deine anrufst AllCells Bereich, mit seiner Zellen Klasse, um diese spezifische Zelle zu erhalten (2,2). Um die letzte Zelle im Bereich zu erhalten, werden Sie trotzdem anrufen AllCells. Diesmal mit SpecialCells Methode, um die Eigenschaft zu erhalten xlCellTypeLastCell. Sie können beide im Codeblock unten sehen.
Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range (AllCells.Cells (2, 2), AllCells.SpecialCells (xlCellTypeLastCell))
Schritt 2: Für jede Schleife
Die nächsten beiden Abschnitte des Codes sind für jeden Die absoluten Grundlagen der Programmierung für Anfänger (Teil 2) Die absoluten Grundlagen der Programmierung für Anfänger (Teil 2) In Teil 2 unseres absoluten Anfängerleitfadens zum Programmieren werde ich die Grundlagen von Funktionen, Rückgabewerte, Schleifen und Bedingungen. Vergewissern Sie sich, dass Sie Teil 1 gelesen haben, bevor Sie sich dem annehmen, wo ich die… Read More-Schleifen erklärt habe. Diese Schleifen durchlaufen ein Objekt, um auf jede Teilmenge dieses Objekts einzuwirken. In diesem Fall machen Sie zwei davon, eine für jede Zeile und eine für jede Spalte. Da sie fast genau gleich sind, ist nur einer von ihnen hier; aber beide sind im Codeblock. Die Details sind nahezu identisch.
Bevor Sie die Schleife für jede Zeile starten, müssen Sie die Zielspalte festlegen, in die die Schleife den Durchschnitt jeder Zeile schreibt. Sie benutzen die ColumnPlaceHolder Variable, um dieses Ziel festzulegen. Du hast es gleich gesetzt Anzahl Variable der Zellen Klasse von AllCells. Fügen Sie eine hinzu, um sie durch Anhängen rechts von Ihren Daten zu verschieben +1.
Als nächstes starten Sie die Schleife mit Für jeden. Dann möchten Sie in diesem Fall eine Variable für die Teilmenge erstellen, subRow. Nach dem Im, Wir setzen das Hauptobjekt, das wir analysieren Zielzellen. Anhängen .Reihen am Ende, um die Schleife auf jede Zeile anstatt auf jede Zelle im Bereich zu beschränken.
Innerhalb der Schleife verwenden Sie die ActiveSheet.Cells-Methode, um ein bestimmtes Ziel auf dem Arbeitsblatt festzulegen. Die Koordinaten werden mit festgelegt subRow.Row um die Zeile zu erhalten, in der sich die Schleife gerade befindet. Dann verwenden Sie ColumnPlaceHolder für die andere Koordinate.
Sie verwenden dies für alle drei Schritte. Der erste, den Sie hinzufügen .Wert nach den Klammern und gleich setzen WorksheetFunction.Average (subRow). Dadurch wird die Formel für den Durchschnitt der Zeile in Ihre Zielzelle geschrieben. Die nächste Zeile, die Sie anhängen .Stil und das gleich setzen “Währung”. Dieser Schritt entspricht dem Rest Ihres Arbeitsblatts. In der letzten Zeile hängen Sie an .Fette Schriftart und setze es gleich Wahr. (Beachten Sie, dass es hier keine Anführungszeichen gibt, da es sich um den booleschen Wert handelt.) In dieser Zeile wird die Schriftart angezeigt, um die Zusammenfassung der Informationen vom restlichen Blatt hervorzuheben.
Beide Schritte finden Sie im folgenden Codebeispiel. Die zweite Schleife tauscht Zeilen für Spalten aus und ändert die Formel in Summe. Mit dieser Methode werden Ihre Berechnungen an das Format des aktuellen Arbeitsblatts gebunden. Andernfalls ist es mit der Größe verknüpft, zu der Sie das Makro aufzeichnen. Wenn Sie also mehr Tage oder Stunden arbeiten, wächst die Funktion mit Ihren Daten.
ColumnPlaceHolder = AllCells.Columns.Count + 1 Für jede SubRow in TargetCells.Rows ActiveSheet.Cells (SubRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (SubRow) ActiveSheet.Cells (SubRow.Row, ColumnPlaceHolder) "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 für jede SubColumn in TargetCells.Columns ActiveSheet.Cells (RowPlaceHolder, SubColumn.Column). Summe (SubColumn) ActiveSheet.Cells (RowPlaceHolder, SubColumn.Column) .Style = "Currency" ActiveSheet.Cells (RowPlaceHolder, SubColumn.Column) .Font.Bold = "True" Next SubColumn
Schritt 3: Beschriften Sie Ihre Zusammenfassungen
Als Nächstes beschriften Sie die neue Zeile und Spalte RowPlaceHolder und ColumnPlaceHolder nochmal. Erste Benutzung AllCells.Row um die erste Reihe in der Reihe zu erhalten, und dann AllCells.Column + 1 um die letzte Spalte zu erhalten. Dann verwenden Sie dieselbe Methode wie die Schleife, um den Wert auf festzulegen “Durchschnittlicher Umsatz”. Sie werden auch dasselbe verwenden .Fette Schriftart Eigenschaft, um Ihr neues Label fett zu machen.
Dann kehren Sie es um und setzen Sie Ihre Platzhalter auf die erste Spalte und die letzte hinzuzufügende Zeile “Gesamtumsatz”. Das willst du auch kühnen.
Beide Schritte befinden sich im folgenden Codeblock. Dies ist das Ende des Makros, das von bemerkt wird End Sub. Sie sollten jetzt über das gesamte Makro verfügen. 5 Ressourcen für Excel-Makros zur Automatisierung Ihrer Tabellenkalkulationen 5 Ressourcen für Excel-Makros zur Automatisierung Ihrer Tabellenkalkulationen Suchen nach Excel-Makros? Hier sind fünf Websites, die genau das bieten, wonach Sie suchen. Lesen Sie mehr, und klicken Sie auf die Schaltfläche, um sie auszuführen. Sie können alle diese Codeblöcke der Reihe nach in Ihre Excel-Tabelle einfügen, wenn Sie betrügen möchten, aber wo ist der Spaß dabei??
ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Durchschnittlicher Umsatz" ActiveSheet.older (RowPlaceHolder, ColumnPlaceHolder) AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Gesamtumsatz" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub
Nächste Schritte für Makros in Excel auf dem Mac?
Aufgezeichnete Makros eignen sich hervorragend für vorhersehbare Wiederholungen. Auch wenn es so einfach ist, alle Zellen zu skalieren und Kopfzeilen zu formatieren, können Sie Zeit sparen.
Visual Basic öffnet Mac Excel-Benutzern die Tür, um sich tief in die Office-Automatisierung einzuarbeiten. Visual Basic war traditionell nur unter Windows verfügbar. Dadurch können sich Ihre Makros dynamisch an die Daten anpassen, wodurch sie vielseitiger werden. Wenn Sie die Geduld haben, kann dies der Zugang zu einer fortgeschritteneren Programmierung sein.
Erfahren Sie mehr über: Microsoft Excel, Visual Basic-Programmierung.