Usa le macro in Excel su Mac per risparmiare tempo e fare di più
Excel su Mac non è sempre stato lo stesso potente di Windows. I macro non funzionerebbero davvero a meno che non fossero creati esclusivamente per il Mac.
A partire dal 2013, Microsoft ha riportato i macro. Esistono due tipi di macro: quelli che puoi creare registrando rapidamente le tue azioni e quelli che usano VBA per progettare automazioni più avanzate. Con Office 2016, Excel utilizza la stessa base di codice su tutte le piattaforme. Questa modifica renderà più facile il funzionamento delle macro attraverso le piattaforme.
Diamo un'occhiata a come questo funziona attualmente su macOS.
Abilitazione dei macro in Excel su Mac
L'utilizzo di macro in Excel sul Mac potrebbe non essere abilitato per impostazione predefinita. Questa impostazione è dovuta al fatto che i macro possono essere un possibile vettore di malware Come proteggersi dai malware Microsoft Word Come proteggersi dai malware Microsoft Word Sapevi che il tuo computer può essere infetto da documenti Microsoft Office dannosi o che potresti essere abilitato per l'attivazione le impostazioni di cui hanno bisogno per infettare il tuo computer? Leggi di più . Il modo più semplice per dirlo è vedere se hai il Sviluppatore scheda disponibile sulla barra multifunzione in Excel. Se non lo vedi, è semplice da abilitare.
Clicca su Eccellere nella barra dei menu, quindi selezionare Preferenze nel menu a discesa. Nel menu, fare clic su Barra multifunzione e barra degli strumenti. Nella lista a destra, Sviluppatore dovrebbe essere in fondo, fare clic sulla casella di controllo. Infine, fai clic Salvare e dovresti vedere la scheda Sviluppatore visualizzata alla fine della barra multifunzione.
Dopo aver creato ogni cartella di lavoro con macro, salvarla in un nuovo formato .XLSM utilizzare le macro dopo la riapertura del file. Se dimentichi, Excel ti ricorderà ogni volta che proverai a salvare. Avrai anche bisogno di abilitare i macro ogni volta che apri il file.
Registrazione manuale di una macro in Excel su Mac
Sebbene sia possibile codificare macro 4 errori che si possono evitare durante la programmazione di macro di Excel con errori di VBA 4 che si possono evitare durante la programmazione di macro di Excel con VBA Il codice semplice e le macro sono le chiavi dei superpoteri di Microsoft Excel. Persino i non programmatori possono facilmente aggiungere funzionalità straordinarie ai propri fogli di lavoro con Virtual Basics for Applications (VBA). Basta evitare questi errori di programmazione per principianti! Per saperne di più, potrebbe non essere adatto a tutti. Se non sei pronto per iniziare a lavorare con VBA, Excel ti consente di registrare i passaggi per la tua macro in un foglio esistente. Fai clic sulla scheda Sviluppatore per visualizzare le opzioni.
Stai cercando la terza opzione nella barra multifunzione, Registra macro. Fai clic su questo e viene visualizzata una finestra di dialogo che ti consente di assegnare un nome alla macro e di impostare una scorciatoia da tastiera. È possibile estendere la macro a Cartella di lavoro corrente, un Nuova cartella di lavoro, o nel tuo Cartella macro personale. La cartella di lavoro macro personale si trova nel tuo profilo utente e ti consente di utilizzare i tuoi macro tra i tuoi file.
Dopo aver registrato le tue azioni, sono disponibili su questa stessa scheda. Facendo clic su macro verranno visualizzate le macro salvate nella cartella di lavoro. Fare clic sul nome della macro e fare clic Correre per eseguire le tue azioni registrate.
Esempio 1: totale giornaliero delle vendite e media oraria
Per una macro di esempio, verrà visualizzato un foglio di vendita giornaliero, con le vendite suddivise in totali orari. La tua macro aggiungerà un totale delle vendite giornaliere e quindi aggiungerà una media nell'ultima colonna di ciascun periodo orario. Se lavori al dettaglio o in altre posizioni di vendita, questo è un foglio utile per tracciare le entrate.
Dobbiamo impostare il primo foglio. L'utilizzo di questo primo vuoto come modello da copiare in una nuova scheda ogni giorno potrebbe farti risparmiare tempo. Nella prima colonna / riga inserisci ora / data. Dall'alto aggiungere lunedì al venerdì.
Quindi, nella prima colonna, analizza i totali orari da 8 a 5. Ho usato il tempo di 24 ore, ma puoi usare la notazione AM / PM se preferisci. Il tuo foglio dovrebbe corrispondere allo screenshot qui sopra.
Aggiungi una nuova scheda e copia il tuo modello in essa. Quindi compila i tuoi dati di vendita per il giorno. (Se non si dispone di dati per popolare questo foglio, è possibile inserire = RANDBETWEEN (10,1000) in tutte le celle per creare dati fittizi.) Quindi, fare clic su Sviluppatore nel nastro.
Quindi, fare clic su Registra macro. Nella finestra di dialogo inserire il nome come AverageandSum e lasciarlo archiviato Questa cartella di lavoro. È possibile impostare un tasto di scelta rapida, se lo desideri. Puoi inserire una descrizione se hai bisogno di maggiori dettagli su cosa fa la macro. Fai clic su OK per iniziare a configurare la macro.
Entra nella parte inferiore degli elenchi orari Totali giornalieri. Nella cella accanto ad essa, entra = SUM (B2: B10). Quindi copialo e incollalo nel resto delle colonne. Quindi nell'intestazione aggiungi Media dopo l'ultima colonna. Quindi nella cella successiva, immettere = Medio (B2: F2). Quindi, incollalo nelle celle nel resto della colonna.
Quindi fare clic Interrompi registrazione. La tua macro è ora in grado di utilizzare su ogni nuovo foglio che aggiungi alla tua cartella di lavoro. Una volta che hai un altro foglio di dati, torna a Sviluppatore e fare clic Macro. La tua macro dovrebbe essere evidenziata, fai clic su Esegui per aggiungere somme e medie.
Questo esempio può farti risparmiare un paio di passaggi, ma per azioni più complesse che possono essere sommate. Se si eseguono le stesse operazioni su dati con una formattazione identica, utilizzare macro registrate.
Macro VBA in Excel su Mac
Le macro registrate manualmente in Excel aiutano con dati sempre della stessa dimensione e forma. È anche utile se si desidera eseguire azioni sull'intero foglio. Puoi usare la tua macro per provare il problema.
Aggiungi un'altra ora e un giorno al foglio ed esegui la macro. Vedrai che la macro sovrascrive i tuoi nuovi dati. Il modo in cui ci aggiriamo sta usando il codice per rendere la macro più dinamica usando VBA, che è una versione ridotta di Visual Basic 4 Grandi siti Web per farti diventare un Guru di Visual Basic 4 Grandi siti Web per farti diventare un Visual Basic Guru Vuoi imparare Visual Basic? Ecco alcune grandi risorse per iniziare. Leggi di più . L'implementazione si concentra sull'automazione per Office.
Non è così semplice da imparare come Applescript Impara ad automatizzare il tuo Mac con AppleScript [Parte 1: Introduzione] Imparare ad automatizzare il tuo Mac con AppleScript [Parte 1: Introduzione] Altre informazioni, ma l'automazione di Office è interamente basata su Visual Basic. Quindi, una volta che hai lavorato qui, sei in grado di girarti rapidamente e usarlo in altre app di Office. (Può anche essere di grande aiuto se sei bloccato con un PC Windows al lavoro.)
Quando lavori con VBA in Excel, hai una finestra separata. Lo screenshot qui sopra è la nostra macro registrata come appare nell'editor di codice. La modalità a finestra può essere utile per giocare con il tuo codice mentre stai imparando. Quando la macro viene riagganciata, esistono strumenti di debug per esaminare lo stato delle variabili e dei dati del foglio.
Office 2016 ora include l'editor di Visual Basic completo. Ti consente di utilizzare il Browser degli oggetti e gli strumenti di debug che prima erano limitati alla versione di Windows. Puoi accedere al Browser degli oggetti andando a Visualizza> Browser degli oggetti o semplicemente premi Maiusc + Comando + B. È quindi possibile sfogliare tutte le classi, i metodi e le proprietà disponibili. È stato molto utile nella costruzione del codice nella prossima sezione.
Esempio 2: totale giornaliero delle vendite e media oraria con codice
Prima di iniziare a codificare la tua macro, iniziamo aggiungendo un pulsante al modello. Questo passaggio rende molto più semplice per un utente alle prime armi accedere alla tua macro. Possono fare clic su un pulsante per chiamare la macro anziché scavare nelle schede e nei menu.
Tornare al foglio di modello vuoto creato nell'ultimo passaggio. Clicca su Sviluppatore per tornare alla scheda. Una volta che sei nella scheda, clicca su Pulsante. Quindi, fai clic da qualche parte nel foglio sul modello per posizionare il pulsante. Viene visualizzato il menu macro, assegna un nome alla tua macro e fai clic Nuovo.
Si aprirà la finestra di Visual Basic; lo vedrai elencato come Module2 nel browser del progetto. Il riquadro del codice avrà Sub AverageandSumButton () in alto e poche righe in basso End Sub. Il tuo codice deve passare tra questi due, poiché è l'inizio e la fine della tua macro.
Passaggio 1: dichiarazione delle variabili
Per iniziare, dovrai dichiarare tutte le tue variabili Nozioni di base sulla programmazione del computer 101 - Variabili e tipi di dati I fondamenti della programmazione per computer 101 - Variabili e tipi di dati Avendo introdotto e parlato un po 'di programmazione orientata agli oggetti prima e da dove proviene il suo omonimo, Ho pensato che fosse ora di passare attraverso le basi assolute della programmazione in un modo non specifico del linguaggio. Questo ... Per saperne di più. Questi sono nel blocco di codice qui sotto, ma una nota su come sono costruiti. Dovresti dichiarare tutte le variabili usando offuscare prima del nome e poi come con il tipo di dati.
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
Ora che hai tutte le tue variabili, devi usare subito alcune variabili dell'intervallo. Gli intervalli sono oggetti che contengono sezioni del foglio di lavoro come indirizzi. La variabile Tutte le celle sarà impostato su tutte le celle attive sul foglio, che include le etichette di colonna e riga. Si ottiene questo chiamando il Foglio attivo oggetto e poi è UsedRange proprietà.
Il problema è che non vuoi che le etichette siano incluse nella media e sommate i dati. Invece, userete un sottoinsieme della gamma AllCells. Questa sarà la gamma TargetCells. Si dichiara manualmente il proprio intervallo. Il suo indirizzo di partenza sarà la cella nella seconda riga nella seconda colonna dell'intervallo.
Chiami questo chiamando il tuo AllCells gamma, usando il suo cellule classe per ottenere quella cella specifica utilizzando (2,2). Per ottenere la cella finale nell'intervallo, chiamerai comunque AllCells. Questa volta usando SpecialCells metodo per ottenere la proprietà xlCellTypeLastCell. Puoi vedere entrambi nel blocco di codice qui sotto.
Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range (AllCells.Cells (2, 2), AllCells.SpecialCells (xlCellTypeLastCell))
Passaggio 2: per ciascun ciclo
Le prossime due sezioni di codice sono For Each The Absolute Nozioni di base di Programming For Beginners (Parte 2) Le basi assolute della programmazione per principianti (parte 2) Nella parte 2 della nostra guida assoluta ai principianti per la programmazione, parlerò delle nozioni di base di funzioni, valori di ritorno, loop e condizioni. Assicurati di aver letto la parte 1 prima di affrontare questo, dove ho spiegato il ... Ulteriori informazioni loop. Questi loop passano attraverso un oggetto per agire su ogni sottoinsieme di quell'oggetto. In questo caso, ne stai facendo due, uno per ogni riga e uno per ogni colonna. Dato che sono quasi esattamente uguali, solo uno di loro è qui; ma entrambi sono nel blocco di codice. I dettagli sono praticamente identici.
Prima di avviare il ciclo per ogni riga, è necessario impostare la colonna di destinazione in cui il ciclo scrive la media di ogni riga. Tu usi il ColumnPlaceHolder variabile per impostare questo obiettivo. Si imposta uguale al Contare variabile del cellule classe di AllCells. Aggiungi uno ad esso per spostarlo a destra dei tuoi dati aggiungendo +1.
Quindi, inizierai il ciclo usando Per ciascuno. Quindi vuoi creare una variabile per il sottoinsieme, in questo caso, subriga. Dopo il Nel, impostiamo l'oggetto principale che stiamo analizzando TargetCells. Aggiungere .Righe alla fine limitare il ciclo solo a ciascuna riga, invece di ogni cella dell'intervallo.
All'interno del ciclo, si utilizza il metodo ActiveSheet.Cells per impostare un obiettivo specifico sul foglio. Le coordinate sono impostate usando subRow.Row per ottenere la riga il ciclo è attualmente in. Quindi, si usa ColumnPlaceHolder per l'altra coordinata.
Lo usi per tutti e tre i passaggi. Il primo che aggiungi .valore dopo le parentesi e impostare uguale a WorksheetFunction.Average (subriga). Questo scrive la formula per la media della riga nella cella di destinazione. La prossima riga che aggiungi .Stile e impostare quello uguale a “Moneta”. Questo passaggio corrisponde al resto del foglio. Nell'ultima riga, aggiungi .Font.BOLD e impostalo uguale a Vero. (Nota non ci sono virgolette intorno a questo, dato che è il valore booleano.) Questa linea mette in grassetto il carattere per far risaltare le informazioni di riepilogo dal resto del foglio.
Entrambi i passaggi si trovano nell'esempio di codice riportato di seguito. Il secondo ciclo scambia le righe per le colonne e cambia la formula in Somma. L'utilizzo di questo metodo lega i calcoli al formato del foglio corrente. Altrimenti, è collegato alla dimensione al momento della registrazione della macro. Quindi quando lavori più giorni o ore, la funzione cresce con i tuoi dati.
ColumnPlaceHolder = AllCells.Columns.Count + 1 per ogni subRow In TargetCells.Rows ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Value = WorksheetFunction.Average (subRow) ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Style = "Valuta "ActiveSheet.Cells (subRow.Row, ColumnPlaceHolder) .Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 Per ogni sottocolcolale 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" Sottocodice successivo
Passaggio 3: etichetta i riepiloghi
Quindi, etichettare la nuova riga e colonna, impostare RowPlaceHolder e ColumnPlaceHolder ancora. Per prima cosa, usa AllCells.Row per ottenere la prima riga nell'intervallo, e poi AllCells.Column + 1 per ottenere l'ultima colonna. Quindi utilizzerai lo stesso metodo del ciclo per impostare il valore su “Vendite medie”. Userai anche la stessa cosa .Font.BOLD proprietà per mettere in grassetto la tua nuova etichetta.
Quindi invertirlo, impostando i segnaposto sulla prima colonna e sull'ultima riga da aggiungere “Vendite totali”. Vuoi audace anche questo.
Entrambi i passaggi si trovano nel blocco di codice sottostante. Questa è la fine della macro nota da End Sub. Ora dovresti avere l'intera macro 5 Risorse per le macro di Excel per automatizzare i fogli di calcolo 5 Risorse per le macro di Excel per automatizzare i fogli di calcolo Ricerca di macro di Excel? Ecco cinque siti che hanno ottenuto ciò che stai cercando. Leggi altro, ed essere in grado di fare clic sul pulsante per eseguirlo. Puoi incollare tutti questi blocchi di codice in ordine nel tuo foglio Excel se vuoi imbrogliare, ma dov'è il divertimento?
ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Vendite medie" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Value = "Vendite totali" ActiveSheet.Cells (RowPlaceHolder, ColumnPlaceHolder) .Font.Bold = True End Sub
Cosa c'è di nuovo per le macro in Excel su Mac?
I macro registrati sono ideali per la ripetizione prevedibile. Anche se è qualcosa di semplice come ridimensionare tutte le celle e le intestazioni in grassetto, queste possono farti risparmiare tempo.
Visual Basic apre le porte agli utenti Mac Excel per scavare in profondità nell'automazione di Office. Visual Basic era tradizionalmente disponibile solo su Windows. Permette alle tue macro di adattarsi dinamicamente ai dati, rendendoli più versatili. Se hai la pazienza, questa può essere la porta per una programmazione più avanzata.
Scopri di più su: Microsoft Excel, programmazione Visual Basic.