Deze zelfstudie laat zien hoe u geanimeerde grafieken maakt in alle versies van Excel: 2007, 2010, 2013, 2016 en 2022.
Een geanimeerd Excel-diagram dat zichzelf voor de ogen van uw publiek op het scherm tekent, is een krachtige, opvallende manier om uw gegevens in beweging te brengen.
In tegenstelling tot statische grafieken, bieden geanimeerde grafieken extra context aan uw gegevens en helpen ze opkomende patronen te identificeren. Bekijk als voorbeeld het geanimeerde lijndiagram met markeringen hieronder dat het BBP van vier landen (de VS, China, Brazilië en Turkije) in de afgelopen decennia laat zien.
Terwijl de statische tegenhanger er niets bijzonders of nieuws uit zou zien, maakt het geanimeerde effect het voor de grafiek mogelijk om het verhaal voor u te vertellen, waardoor de roerloze BBP-cijfers tot leven komen.
In deze stapsgewijze, beginnersvriendelijke tutorial leert u hoe u hetzelfde kunt doen met uw gegevens, zelfs als u nog maar net uw eerste stappen in Excel zet.
Beginnen
Bekijk de volgende gegevenstabel met de BBP-cijfers voor elk land:
Om de grafiek te animeren, gaan we een eenvoudige VBA-macro gebruiken die de waarden vloeiend in de grafiek plot.
Opmerking: wanneer u VBA-code aan uw werkmap toevoegt, moet u ervoor zorgen dat u uw werkmap opslaat in .xlsm-indeling (Microsoft Excel-werkblad met macro's) om macro's in te schakelen.
Laten we nu onze mouwen opstropen en aan de slag gaan.
Stap 1: Stel de helperkolommen in.
Breid om te beginnen de gegevenstabel uit met extra hulpkolommen waar de werkelijke waarden geleidelijk naar worden gekopieerd, waardoor het animatie-effect ontstaat.
Kopieer de koppen van de kolommen met de BBP-nummers (B2:E2) in de corresponderende cellen naast de gegevenstabel (F2:I2).
Het celbereik gemarkeerd in lichtrood (F3:I13) definieert de plaats waar we de VBA-macro-uitvoer zullen opslaan.
Voeg bovendien decimale scheidingstekens toe voor het gemarkeerde celbereik (Thuis > Cijfer > Kommastijl).
Stap 2: Plot een lege grafiek.
Nadat u wat ruimte voor de hulpkolommen hebt toegewezen, maakt u een leeg 2D-diagram met behulp van de kolommen (F2:I13) als brongegevens:
- Markeer een lege cel.
- Schakel over naar de Invoegen tabblad.
- Klik "Lijn- of vlakdiagram invoegen.”
- Kiezen "Lijn met markeringen.”
Als we dat hebben gedaan, moeten we nu het lege diagram koppelen aan de cellen in de helperkolommen (F:Ik). Klik met de rechtermuisknop op het lege perceel en klik op "Selecteer Gegevens.”
In de Selecteer gegevensbron dialoogvenster, onder "Legend-vermeldingen (serie)," druk op de "Toevoegen" knop.
Wanneer de Serie bewerken dialoogvenster verschijnt, maak vier nieuwe gegevensreeksen op basis van de helperkolommen (F:Ik):
- Voor "serie naam,” specificeer de koprijcel van kolom VS (F2).
- Voor "serie waarden,” selecteer het bijbehorende lege celbereik (F3:F13).
Herhaal hetzelfde proces voor de overige drie kolommen.
Zodra u uw gegevensreeksen op hun plaats hebt, importeert u de labels voor de horizontale as in de grafiek.
Om dat te doen, onder “Horizontale (categorie) aslabels," Klik op de "Bewerking" knop.
In de Aslabels dialoogvenster, onder "Aslabelbereik”, markeer de aswaarden (A3:A13).
Hier is een professionele tip: als u regelmatig items toevoegt aan of verwijdert uit de gegevenstabel, stelt u dynamische grafiekbereiken in om te voorkomen dat u de broncode telkens moet aanpassen.
Om het helemaal af te maken, maakt u de toekomstige lijngrafiek nog informatiever door de grafiektitel en -legenda toe te voegen:
- Klik op het grafiekgebied.
- Ga naar de Ontwerp tabblad.
- Selecteer "Voeg grafiekelementen toe.”
- Voeg de grafiektitel toe (Grafiektitel > Boven grafiek).
- Voeg de diagramlegenda toe (Legenda > Bodem).
Stap 3: Programmeer de VBA om het geanimeerde effect te creëren.
Zodra de brongegevens van de grafiek op de juiste manier zijn ingesteld, komt het harde deel van het schrijven van de VBA-macro die al het vuile werk voor u zal doen met slechts één klik.
Voordat we in de kern van de zaak duiken, moet je ervoor zorgen dat je de Tabblad Ontwikkelaar weergegeven in het lint. Als het is uitgeschakeld, klikt u met de rechtermuisknop op een lege ruimte in de Lintje en kies "Pas het lint aan” in het menu dat verschijnt.
In de Excel-opties dialoogvenster, vink de "Ontwikkelaar” vak en klik op “OKE.”
Als je dat hebt gedaan, is het tijd om de Kraken of Excel uit te brengen, de functie die de grenzen verlegt van wat mogelijk is in de wereld van spreadsheets. Het is tijd om de kracht van de VBA te ontketenen.
Open eerst de VBA-editor:
- Navigeer naar de Ontwikkelaar tabblad.
- Klik op de "Visuele Basis" knop.
Selecteer in de editor de Invoegen tabblad en kies "Module.”
Kopieer daar de volgende macro naar het codevenster:
123456789101112131415161718192021222324 | Sub-geanimeerde_grafiek()'Verklaar variabelen'Const StartRij zo lang = 2Dim LaatsteRij Zo LangDim rijnummer zo lang'Laatste rij gegevens ophalen'LastRow = Range("A" & StartRij).End(xlDown).Rij'Grafiek wissen en blanco grafiek weergeven'Bereik ("F" & StartRow, "I" & LastRow).ClearContentsDoEventsApplication.Wait (Now + TimeValue ("00:00:1"))'Stap door elke grafiekperiode'For RowNumber = StartRow To LastRowDoEventsRange("F" & RowNumber, "I" & RowNumber).Waarde = Range("B" & RowNumber, "E" & RowNumber).WaardeApplication.Wait (Now + TimeValue ("00:00:1"))DoEventsVolgende rijnummerEinde sub |
Op het eerste gezicht lijkt de code misschien ontmoedigend voor VBA-beginners, maar in werkelijkheid zijn er slechts een paar eenvoudige stappen nodig om de code aan uw behoeften aan te passen.
In principe kan de code worden onderverdeeld in vier secties, zoals weergegeven in de onderstaande schermafbeelding. De groene rechthoeken vertegenwoordigen de segmenten van de code die moeten worden aangepast aan uw gegevens, terwijl de rest ongewijzigd moet blijven.
Laten we inzoomen op de onderdelen die u moet verfijnen. Kijk voor uw gemak nog eens naar de gegevenstabel en volg mijn voetstappen:
Variabelen declareren: Deze sectie introduceert nieuwe variabelen waarmee de VBA kan werken. In ons geval is de constante gelabeld als "StartRij” helpt de VBA erachter te komen waar de gegevenstabel begint (rij 2). Daarom moet de constante waarde overeenkomen met de rij waar uw gegevens beginnen.
1 | Const StartRij zo lang = 2 |
Laatste rij met gegevens ophalen: Deze regel code vertelt de VBA om de gegevenstabel te analyseren en te definiëren waar de gegevenstabel eindigt (rij 13) zodat het later alleen kan inzoomen op de waarden binnen het opgegeven celbereik terwijl de rest van het werkblad wordt weggelaten.
Om het voor elkaar te krijgen, specificeert u de eerste kolom ("EEN") waar de gegevenstabel begint voor de VBA om de laatste rij in die kolom te vinden die een niet-lege cel bevat (kolom A).
1 | LastRow = Range("A" & StartRij).End(xlDown).Rij |
Kaart wissen en blanco grafiek weergeven: Deze sectie is verantwoordelijk voor het wissen van de waarden in de helperkolommen (F: Ik) telkens wanneer u de macro uitvoert.
Op die manier kun je hetzelfde geanimeerde effect keer op keer herhalen zonder dat je de werkbladcellen zelf hoeft op te ruimen. Om aan te passen, specificeert u de eerste en laatste helperkolom in uw gegevenstabel (“F” en “I”).
1 | Bereik ("F" & StartRow, "I" & LastRow).ClearContents |
Stap door elke grafiekperiode: Dit is waar alle magie gebeurt. Nadat het celbereik is gekozen, gaat de VBA rij voor rij en vult de helperkolommen met de bijbehorende werkelijke waarden met intervallen van één seconde, waardoor het geanimeerde effect effectief wordt gecreëerd.
Om het voor elkaar te krijgen, hoeft u alleen deze coderegel voor de VBA te wijzigen om de waarden naar de helperkolommen te kopiëren:
1 | Range("F" & RowNumber, "I" & RowNumber).Waarde = Range("B" & RowNumber, "E" & RowNumber).Waarde |
Het eerste deel van de code (Bereik ("F" & RowNumber, "I" & RowNumber). Waarde) pakt alle helperkolommen in de gegevenstabel (F: Ik) terwijl het tweede deel van de vergelijking (Bereik ("B" en rijnummer, "E" en rijnummer). Waarde) is verantwoordelijk voor het importeren van de werkelijke waarden daarin.
Met dat alles in gedachten, de "F" en "L" waarden karakteriseren de eerste en laatste helperkolommen (kolommen F en I). Op dezelfde manier, "B" en "E" staan voor de eerste en laatste kolom die de werkelijke BBP-nummers bevatten (kolommen B en E).
Als je dat allemaal hebt doorstaan, klik je op het diskettepictogram om de VBA-code op te slaan en de editor te sluiten.
Stap 4: Maak de macroknop.
Om de werkbladgegevens en de nieuw gemaakte macro aan elkaar te koppelen, stelt u een knop in voor het uitvoeren van de VBA-code.
- Ga naar de Ontwikkelaar tabblad.
- Klik op de "Invoegen" knop.
- Onder "Formulier controles," selecteer "Knop (Formulierbesturing).”
Klik op de plaats waar u de knop wilt plaatsen (bij voorkeur in de buurt van de grafiektitel). Op dat moment is de Macro toewijzen dialoogvenster verschijnt. Selecteer de VBA-macro die u zojuist hebt gemaakt (Geanimeerde_grafiek) en klik op "OKE.”
Wijzig als laatste aanpassing de knoptekst (dubbelklik op de knoptekst en wijzig de naam). Verplaats indien nodig de knop naar de gewenste positie.
Klik nu op de knop en kijk hoe de VBA de lege plot soepel vult met de werkelijke waarden - en het mooie van deze methode is dat u het onderliggende diagramtype met slechts een paar klikken kunt wijzigen zonder opnieuw door alle hoepels te hoeven springen!
Dus zo is het gedaan. Het animeren van uw Excel-diagrammen kan een geweldige manier zijn om een uniek perspectief op uw gegevens te geven die u anders over het hoofd had gezien.
Het is duidelijk dat het enige tijd kan duren om de logica achter de VBA-code echt te begrijpen. Maar aangezien dezelfde code herhaaldelijk kan worden hergebruikt voor verschillende soorten gegevens en grafieken, is het de moeite waard om het eens te proberen. Als je eenmaal voorbij de korte leercurve bent, is de wereld jouw oester.