Gebruik macro's in Excel op Mac om tijd te besparen en meer te doen

Leer hoe u uw spreadsheetproductiviteit kunt verbeteren met macro's in Excel op Mac.

Leer hoe u uw spreadsheetproductiviteit kunt verbeteren met macro's in Excel op Mac.
Advertentie

Excel op de Mac is niet altijd dezelfde krachtpatser geweest als in Windows. Macro's zouden echt niet werken, tenzij ze exclusief voor de Mac zijn gemaakt.

Vanaf 2013 bracht Microsoft macro's terug. Er zijn twee soorten macro's: die kunt u maken door uw acties snel te registreren en door degenen die VBA gebruiken om geavanceerdere automatiseringen te ontwerpen. Met Office 2016 gebruikt Excel dezelfde codebase op alle platforms. Met deze wijziging kunnen macro's eenvoudiger op verschillende platforms werken.

Laten we dus eens kijken hoe dit momenteel werkt op macOS.

Macro's inschakelen in Excel op Mac

Werken met macro's in Excel op je Mac is mogelijk niet standaard ingeschakeld. Deze instelling is omdat macro's een mogelijke vector voor malware kunnen zijn. Hoe u uzelf tegen Microsoft Word Malware kunt beschermen Hoe uzelf tegen Microsoft Word-malware kunt beschermen Wist u dat uw computer kan worden geïnfecteerd door kwaadwillende Microsoft Office-documenten of dat u kunt worden gedupeerd om in te schakelen? de instellingen die ze nodig hebben om uw computer te infecteren? Lees verder . De gemakkelijkste manier om te weten is om te zien of u het tabblad Ontwikkelaar op het lint in Excel beschikbaar heeft. Als u het niet ziet, is het eenvoudig in te schakelen.

macro's in Excel blinken uit om tijd te besparen

Klik op Excel in de menubalk en selecteer vervolgens Voorkeuren in de vervolgkeuzelijst. Klik in het menu op Lint en werkbalk . In de rechterlijst moet de ontwikkelaar onderaan staan, klik op het selectievakje. Klik ten slotte op Opslaan en het tabblad Ontwikkelaars moet aan het einde van het lint worden weergegeven.

Nadat u elke werkmap met macro's hebt gemaakt, slaat u deze op in een nieuwe indeling .xlsm om de macro's te gebruiken nadat u het bestand opnieuw hebt geopend. Als u het vergeet, zal Excel u elke keer dat u probeert op te slaan eraan herinneren. Je moet ook macro's inschakelen telkens wanneer je het bestand opent.

Handmatig opnemen van een macro in Excel op Mac

Hoewel je macro's kunt coderen 4 Fouten die je kunt vermijden bij het programmeren van Excel-macro's met VBA 4 Fouten die je kunt vermijden bij het programmeren van Excel-macro's met VBA Eenvoudige code en macro's zijn de sleutels tot Microsoft Excel-superkrachten. Zelfs niet-programmeurs kunnen gemakkelijk indrukwekkende functionaliteit toevoegen aan hun spreadsheets met Virtual Basics for Applications (VBA). Vermijd gewoon deze programmeerfouten voor beginners! Meer lezen, dat is misschien niet voor iedereen. Als u nog niet klaar bent om met VBA te gaan werken, kunt u met Excel de stappen voor uw macro in een bestaand werkblad opslaan. Klik op het tabblad Ontwikkelaar om uw opties te bekijken.

macro's in Excel blinken uit om tijd te besparen

U bent op zoek naar de derde optie in het lint, Record Macro . Klik hierop en er verschijnt een dialoogvenster waarin u uw macro een naam kunt geven en een sneltoets kunt instellen. U kunt uw macro instellen op de huidige werkmap, een nieuwe werkmap of in uw persoonlijke macrowerkmap . Het persoonlijke macrowerkboek bevindt zich in uw gebruikersprofiel en laat u uw macro's gebruiken tussen uw bestanden.

Nadat u uw acties hebt vastgelegd, zijn ze beschikbaar op hetzelfde tabblad. Als u op macro's klikt, worden de opgeslagen macro's in uw werkmap weergegeven. Klik op uw macronaam en klik op Uitvoeren om uw opgenomen acties uit te voeren.

Voorbeeld 1: Dagelijks verkooptotaal en Uurgemiddelde

Voor een voorbeeldmacro, gaat u een dagelijks verkoopblad doorlopen, waarbij de omzet wordt uitgesplitst op uurtotalen. Uw macro voegt een dagelijks verkooptotaal toe en voegt vervolgens een gemiddelde toe in de laatste kolom van elke uurperiode. Als u in de detailhandel of een andere verkoopfunctie werkt, is dit een handig blad om de inkomsten te volgen.

We moeten het eerste blad instellen. Het gebruik van deze eerste lege sjabloon als een sjabloon om elke dag naar een nieuw tabblad te kopiëren, kan u tijd besparen. Zet in de eerste kolom / rij uur / datum. Aan de overkant voeg je van maandag tot vrijdag toe.

Zet dan in de eerste kolom een ​​uitsplitsing van uurtotalen van 8-5. Ik gebruikte 24-uurs tijd, maar je kunt de AM / PM-notatie gebruiken als je dat liever hebt. Uw blad moet overeenkomen met de bovenstaande screenshot.

macro's in Excel blinken uit om tijd te besparen

Voeg een nieuw tabblad toe en kopieer uw sjabloon erin. Vul vervolgens uw verkoopgegevens voor de dag in. (Als u geen gegevens hebt om dit blad in te vullen, kunt u in alle cellen = RandBetween (10, 1000) invoeren om dummygegevens te maken.) Klik vervolgens op Ontwikkelaar in het lint.

Klik vervolgens op Macro opnemen . Voer in het dialoogvenster de naam in als AverageandSum en laat deze in dit werkboek staan . U kunt desgewenst een sneltoets instellen. U kunt een beschrijving invoeren als u meer informatie wilt over wat de macro doet. Klik op OK om te beginnen met het instellen van de macro.

Onderaan de uurlijkse lijsten voert u Dagelijkse totalen in . Voer in de cel erna = SOM in (B2: B10) . Kopieer en plak dat dan in de rest van de kolommen. Voeg vervolgens in de kop Gemiddeld toe na de laatste kolom. Voer vervolgens in de volgende cel omlaag = Gemiddelde (B2: F2) in . Plak dat dan in de cellen in de rest van de kolom.

Klik vervolgens op Opname stoppen . Uw macro kan nu gebruiken op elk nieuw blad dat u aan uw werkmap toevoegt. Zodra u een ander gegevensvel heeft, gaat u terug naar Ontwikkelaar en klikt u op Macro's . Uw macro moet worden gemarkeerd, klik op Uitvoeren om uw sommen en gemiddelden toe te voegen.

Dit voorbeeld kan u een paar stappen besparen, maar voor complexere acties die kunnen oplopen. Als u dezelfde bewerkingen uitvoert op gegevens met identieke opmaak, gebruikt u de opgenomen macro's.

VBA-macro's in Excel op Mac

Handmatig opgenomen macro's in Excel helpen met gegevens die altijd dezelfde grootte en vorm hebben. Het is ook handig als u acties op het hele blad wilt uitvoeren. U kunt uw macro gebruiken om het probleem te bewijzen.

macro's in Excel blinken uit om tijd te besparen

Voeg nog een uur en een dag toe aan het blad en voer de macro uit. Je zult zien dat de macro je nieuwe gegevens overschrijft. De manier waarop we dit omzeilen, is het gebruik van code om de macro dynamischer te maken met behulp van VBA, wat een afgeslankte versie van Visual Basic 4 is. Geweldige websites om je een Visual Basic-goeroe te maken 4 geweldige websites om je een Visual Basic-goeroe te maken Visual Basic? Hier zijn enkele geweldige bronnen om u op weg te helpen. Lees verder . De implementatie richt zich op automatisering voor Office.

macro's in Excel blinken uit om tijd te besparen

Het is niet zo eenvoudig om het op te nemen als Applescript Leer om uw Mac te automatiseren met AppleScript [Deel 1: Introductie] Leer uw Mac te automatiseren met AppleScript [Deel 1: Inleiding] Lees meer, maar de automatisering van Office is volledig rond Visual Basic opgebouwd. Dus als u hier eenmaal mee werkt, kunt u zich snel omdraaien en gebruiken in andere Office-apps. (Het kan ook een grote hulp zijn als je vastzit op een Windows-pc op je werk.)

Wanneer u met VBA in Excel werkt, hebt u een afzonderlijk venster. De bovenstaande schermafbeelding is onze opgenomen macro zoals deze wordt weergegeven in de codebewerker. De venstermodus kan handig zijn om met uw code te spelen terwijl u aan het leren bent. Wanneer uw macro wordt opgehangen, zijn er hulpprogramma's voor foutopsporing om naar de status van uw variabelen en werkbladgegevens te kijken.

Office 2016 wordt nu geleverd met de volledige Visual Basic-editor. Hiermee kunt u de Objectbrowser en foutopsporingsprogramma's gebruiken die voorheen beperkt waren tot de Windows-versie. U kunt de Objectbrowser openen door naar Beeld> Objectbrowser te gaan of druk gewoon op Shift + Command + B. U kunt dan bladeren door alle beschikbare klassen, methoden en eigenschappen. Het was erg handig bij het construeren van de code in de volgende sectie.

Voorbeeld 2: Dagelijks verkooptotaal en Uurgemiddelde met code

Voordat we beginnen met het coderen van uw macro, laten we beginnen met het toevoegen van een knop aan de sjabloon. Met deze stap is het voor een beginnende gebruiker veel eenvoudiger om toegang te krijgen tot uw macro. Ze kunnen op een knop klikken om de macro te creeëren in plaats van in de tabbladen en menu's te graven.

macro's in Excel blinken uit om tijd te besparen

Schakel terug naar het lege sjabloonblad dat u in de laatste stap hebt gemaakt. Klik op Ontwikkelaar om terug te gaan naar het tabblad. Zodra u op het tabblad bent, klikt u op de knop . Klik vervolgens ergens in het blad op de sjabloon om de knop te plaatsen. Het macros-menu verschijnt, geef uw macro een naam en klik op Nieuw .

Het Visual Basic-venster wordt geopend; je zult het zien als Module2 in de projectbrowser. Het codevenster heeft Sub AverageandSumButton () bovenaan en een paar regels lager End Sub . Uw code moet tussen deze twee staan, omdat dit het begin en het einde van uw macro is.

Stap 1: Variabelen declareren

Om te beginnen, moet u al uw variabelen declareren. De grondbeginselen van computerprogrammering 101 - Variabelen en gegevenstypes De basisprincipes van computerprogrammering 101 - Variabelen en gegevenstypes Na een introductie en bespreking van objectgeoriënteerde programmering voor en waar de naamgever vandaan komt, Ik dacht dat het tijd werd om de absolute basis van programmeren op een niet-taalspecifieke manier te doorlopen. Dit ... Lees meer. Deze staan ​​in het onderstaande codeblok, maar een notitie over hoe ze zijn geconstrueerd. U moet alle variabelen declareren met Dim vóór de naam en vervolgens zoals bij het gegevenstype.

Sub AverageandSumButton() Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder As String Dim AllCells As Range Dim TargetCells As Range Dim AverageTarget As Range Dim SumTarget As Range 

Nu u al uw variabelen hebt, moet u meteen enkele van de bereikvariabelen gebruiken. Bereiken zijn objecten die delen van het werkblad als adressen bevatten. De variabele Alle cellen wordt ingesteld voor alle actieve cellen op het blad, inclusief de kolom- en rijlabels. U krijgt dit door het ActiveSheet- object aan te roepen en vervolgens de eigenschap UsedRange .

Het probleem is dat u niet wilt dat de labels worden opgenomen in de gemiddelde en somgegevens. In plaats daarvan gebruikt u een subset van het AllCells-bereik. Dit zal het TargetCells-bereik zijn. U declareert handmatig het bereik. Het startadres wordt de cel op de tweede rij in de tweede kolom van het bereik.

U noemt dit door uw AllCells- bereik aan te roepen, met behulp van de Cells- klasse om die specifieke cel te gebruiken (2, 2) . Om de laatste cel in het bereik te krijgen, belt u nog steeds AllCells . Deze keer met behulp van de SpecialCells- methode om de eigenschap xlCellTypeLastCell te krijgen. U kunt beide in het onderstaande codeblok zien.

 Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell)) 

Stap 2: voor elke loops

De volgende twee secties van code zijn For Each The Absolute Basics Of Programming For Beginners (Deel 2) De absolute basisprincipes van programmeren voor beginners (deel 2) In deel 2 van onze absolute beginnersgids voor programmeren, zal ik de basisbeginselen van functies, retourwaarden, loops en conditionals. Zorg ervoor dat je deel 1 hebt gelezen voordat je dit aanpakt, waar ik de ... Lees meer loops heb uitgelegd. Deze lussen gaan door een object om op elke subset van dat object in te werken. In dit geval doet u er twee, één voor elke rij en één voor elke kolom. Omdat ze bijna precies hetzelfde zijn, is er maar één hier; maar beide bevinden zich in het codeblok. De details zijn vrijwel identiek.

Voordat u de lus voor elke rij start, moet u de doelkolom instellen waar de lus het gemiddelde van elke rij schrijft. U gebruikt de variabele ColumnPlaceHolder om dit doel in te stellen. U stelt het gelijk aan de variabele Telling van de Cells- klasse van AllCells . Voeg er een toe om deze rechts van uw gegevens te plaatsen door +1 toe te voegen.

Vervolgens start u de lus door For Each te gebruiken . Vervolgens wilt u een variabele maken voor de subset, in dit geval subRow . Na de In stellen we het hoofdobject in dat we TargetCells parseren. Voeg Rows toe aan het einde om de lus te beperken tot alleen elke rij, in plaats van elke cel in het bereik.

Binnen de lus gebruikt u de methode ActiveSheet.Cells om een ​​specifiek doel op het vel in te stellen. De coördinaten worden ingesteld met behulp van SubRow.Row om de rij te krijgen waar de lus zich momenteel in bevindt. Vervolgens gebruikt u ColumnPlaceHolder voor de andere coördinaat.

U gebruikt dit voor alle drie de stappen. De eerste die u .value toevoegt na de haakjes en gelijkgesteld aan WorksheetFunction.Average (subRow) . Dit schrijft de formule voor het gemiddelde van de rij in uw doelcel. De volgende regel voeg je .Style toe en stel dat gelijk aan "Valuta" . Deze stap komt overeen met de rest van uw blad. Op de laatste regel voegt u .Font.Bold toe en stelt u deze gelijk aan True . (Merk op dat er hier geen aanhalingstekens zijn, omdat dit de Booleaanse waarde is.) Deze regel geeft het lettertype een vetgedrukt effect om de samenvatting te onderscheiden van de rest van het blad.

Beide stappen zijn in het onderstaande codevoorbeeld. De tweede lus ruilt rijen voor kolommen en verandert de formule in Som . Als u deze methode gebruikt, worden uw berekeningen gekoppeld aan het formaat van het huidige blad. Anders is het gekoppeld aan de grootte op het moment dat u de macro opneemt. Dus als u meer dagen of uren werkt, groeit de functie mee met uw gegevens.

 ColumnPlaceHolder = AllCells.Columns.Count + 1 For Each subRow In TargetCells.Rows ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow) ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = "Currency" ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 For Each subColumn In TargetCells.Columns ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn) ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = "Currency" ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = "True" Next subColumn 

Stap 3: Label uw samenvattingen

Label vervolgens de nieuwe rij en kolom, stel RowPlaceHolder en ColumnPlaceHolder opnieuw in. Gebruik eerst AllCells.Row om de eerste rij in het bereik te krijgen en vervolgens AllCells.Column + 1 om de laatste kolom te krijgen. Vervolgens gebruikt u dezelfde methode als de lus om de waarde in te stellen op "Gemiddelde verkoop" . U zult ook dezelfde .Font.Bold -eigenschap gebruiken om uw nieuwe label vet te maken.

macro's in Excel blinken uit om tijd te besparen

Verander het vervolgens en stel uw tijdelijke aanduidingen in op de eerste kolom en laatste rij om 'Totale verkoop' toe te voegen. Je wilt dit ook vet maken.

Beide stappen staan ​​in het onderstaande codeblok. Dit is het einde van de macro die wordt vermeld door End Sub . U zou nu de volledige macro 5 Resources voor Excel-macro's moeten hebben om uw spreadsheets te automatiseren 5 Bronnen voor Excel-macro's om uw spreadsheets te automatiseren Zoeken naar Excel-macro's? Hier zijn vijf sites die hebben wat je zoekt. Lees Meer en klik op de knop om het uit te voeren. U kunt al deze codeblokken op volgorde in uw Excel-blad plakken als u wilt vals spelen, maar waar zit het plezier in?

 ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Average Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True End Sub 

Wat is de toekomst voor macro's in Excel op Mac?

Opgenomen macro's zijn geweldig om te gebruiken voor voorspelbare herhalingen. Zelfs als het iets eenvoudigs is als het wijzigen van de grootte van alle cellen en vetgedrukte headers, kunnen deze u tijd besparen.

Visual Basic opent de deur voor Mac Excel-gebruikers om diep in Office-automatisering te graven. Visual Basic was traditioneel alleen beschikbaar op Windows. Hiermee kunnen uw macro's zich dynamisch aan de gegevens aanpassen, waardoor ze veelzijdiger worden. Als je het geduld hebt, kan dit de deur naar meer geavanceerde programmering zijn.

In this article