KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe past u de vormgrootte automatisch aan op basis van een opgegeven celwaarde in Excel?

AuteurSiluvia Wijzigingsdatum

In Excel worden vormen zoals cirkels, rechthoeken of aangepaste afbeeldingen veel gebruikt voor visuele verbetering, dashboards of het illustreren van gegevens. Soms wilt u dat de grootte van een vorm dynamisch meeverandert met de waarde in een bepaalde cel – bijvoorbeeld om voortgangsindicatoren te creëren, visuele statusweergaven te tonen of uw rapporten eenvoudigweg interactiever en intuïtiever te maken. Excel biedt echter geen ingebouwde functie om de grootte van een vorm automatisch te koppelen aan celinhoud. Dit artikel presenteert praktische methoden om vormen automatisch te vergroten of te verkleinen op basis van de waarde in een opgegeven cel, zodat uw Excel-projecten dynamischer en visueel krachtiger worden.


Automatisch de vormgrootte aanpassen op basis van een opgegeven celwaarde met VBA-code

Om een vorm automatisch aan te passen aan de waarde in een specifieke cel, kunt u een VBA-macro gebruiken. Deze methode is bijzonder effectief voor het automatiseren van dashboardelementen of het visueel benadrukken van gegevenswijzigingen—zonder dat u elke vorm handmatig hoeft aan te passen. De onderstaande VBA-code koppelt de grootte van een vorm direct aan een celwaarde in uw werkblad.

Navigeer door documenten met behulp van Office Tab

Office Tab

Tabbladnavigatie voor Word, Excel, PowerPoint en meer – net als in een webbrowser, met vloeiend schakelen tussen documenten in één venster.

Volg deze stappen:

1. Klik met de rechtermuisknop op het bladtabblad met de vorm die u wilt wijzigen en selecteer Code weergeven in het contextmenu. Hiermee opent u het codebewerkervenster voor dat specifieke werkblad.

2. Plak in het venster Microsoft Visual Basic for Applications de volgende VBA-code in het codovenster. Zorg ervoor dat u deze plakt in het codesheet van het werkblad waar uw vorm zich bevindt.

VBA-code: Automatisch de vormgrootte aanpassen op basis van een opgegeven celwaarde in Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Row = 2 And Target.Column = 1 Then
        Call SizeCircle("Oval 2", Val(Target.Value))
    End If
End Sub
Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

Uitleg en voorzorgsmaatregelen:

  • In deze code verwijst "Oval 2" naar de naam van de vorm die u wilt wijzigen. Zorg ervoor dat deze exact overeenkomt met de naam in het Selectievenster (Start > Zoeken en selecteren > Selectievenster).
  • De code wordt alleen uitgevoerd wanneer er specifiek een wijziging wordt aangebracht in cel A2 (dat is rij 2, kolom 1). Als u een andere cel wilt gebruiken, pas dan deze waarden dienovereenkomstig aan.
  • De grootte van de vorm wordt bepaald door de celwaarde, die de diameter in centimeters aangeeft. De code stelt een maximale grootte in van 10 cm en een minimale grootte van 1 cm om problemen met extreme schaalaanpassingen te voorkomen.
  • Als u een waarde buiten dit bereik invoert (minder dan 1 of meer dan 10), past het systeem de vorm automatisch aan naar de dichtstbijzijnde limiet.
  • Als de opgegeven vormnaam niet wordt gevonden of als de waarde geen getal is, negeert de code de actie zonder een foutmelding te tonen.

Voor scenario’s waarin meerdere vormen automatisch moeten worden aangepast op basis van waarden in verschillende cellen—bijvoorbeeld bij het maken van een reeks visuele indicatoren of meters—kunt u de VBA-oplossing uitbreiden zoals hieronder wordt getoond.

VBA-code: Meerdere vormen automatisch aanpassen op basis van de waarden in verschillende opgegeven cellen in Excel

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xAddress As String
    On Error Resume Next
    If Target.CountLarge = 1 Then
        xAddress = Target.Address(0, 0)
        If xAddress = "A1" Then
            Call SizeCircle("Oval 1", Val(Target.Value))
        ElseIf xAddress = "A2" Then
            Call SizeCircle("Smiley Face 3", Val(Target.Value))
        ElseIf xAddress = "A3" Then
            Call SizeCircle("Heart 2", Val(Target.Value))
        End If
    End If
End Sub

Sub SizeCircle(Name As String, Diameter)
    Dim xCenterX As Single
    Dim xCenterY As Single
    Dim xCircle As Shape
    Dim xDiameter As Single
    On Error GoTo ExitSub
    xDiameter = Diameter
    If xDiameter > 10 Then xDiameter = 10
    If xDiameter < 1 Then xDiameter = 1
    Set xCircle = ActiveSheet.Shapes(Name)
    With xCircle
        xCenterX = .Left + (.Width / 2)
        xCenterY = .Top + (.Height / 2)
        .Width = Application.CentimetersToPoints(xDiameter)
        .Height = Application.CentimetersToPoints(xDiameter)
        .Left = xCenterX - (.Width / 2)
        .Top = xCenterY - (.Height / 2)
    End With
ExitSub:
End Sub

Belangrijke opmerkingen en gebruikstips:

1) In deze code vindt u de vormnamen „Oval 1”, „Smiley Face 3” en „Heart 2”. Deze verwijzen naar de vormen die u wilt wijzigen. Zorg ervoor dat de namen exact overeenkomen met wat u ziet in uw Excel-werkboek.
2) Cellen A1,A2, en A3bepalen de groottes van hun bijbehorende vormen. U kunt deze verwijzingen wijzigen als u andere cel-vorm-koppelingen wilt gebruiken. Om meer vormen en cellen toe te voegen, voegt u eenvoudig vergelijkbare regels toe aan het gedeelte If...ElseIfvóór End If. Voer het juiste celadres en vormnaam in zoals nodig.

3. Nadat u de code hebt gewijzigd en opgeslagen, drukt u op Alt+Q om het venster Microsoft Visual Basic for Applications te sluiten en terug te keren naar uw werkblad.

Vanaf nu past de opgegeven vorm „Oval2” zich automatisch in realtime aan zodra u de waarde in cel A2 wijzigt. Zie schermafbeelding:

 wijzig de waarde in een specifieke cel, dan wordt de grootte van de vorm automatisch aangepast

Op dezelfde manier passen de vormen „Oval 1”, „Smiley Face 3” en „Heart 2” hun grootte direct aan op basis van hun gekoppelde cellen wanneer u de waarden in cellen A1, A2 of A3 wijzigt. Zie het onderstaande voorbeeld:

wijzig de waarde in specifieke cellen, dan wordt de grootte van de vormen automatisch aangepast

Extra herinneringen:
- De schaalaanpassing wordt alleen uitgevoerd wanneer de waarden in de opgegeven cellen veranderen. Als u een vorm handmatig verplaatst of wijzigt op een manier die het referentiepunt verstoort, moet u de positie van de vorm mogelijk opnieuw instellen.
- Alleen numerieke waarden werken zoals bedoeld. Lege cellen of tekstwaarden kunnen ertoe leiden dat de vorm wordt verkleind tot de minimale grootte of niet naar verwachting wordt aangepast.
- Zorg ervoor dat macro’s zijn ingeschakeld in uw Excel-omgeving, aangezien VBA-oplossingen macro-machtigingen vereisen.

Opmerking: De vormgrootte stopt met toenemen zodra de celwaarde 10 overschrijdt (maximaal ingesteld op 10 cm). Evenzo worden waarden onder 1 standaard ingesteld op het minimum (1 cm).

Tips voor probleemoplossing: Als het aanpassen van de grootte niet werkt zoals verwacht, controleer dan of de vormnamen en celverwijzingen exact overeenkomen, of macro’s zijn ingeschakeld en of er geen beveiligingsbeperkingen op het werkblad gelden. Als u een runtime-fout tegenkomt, controleer dan of de opgegeven vormen bestaan op het actieve werkblad en of hun namen correct zijn gespeld.

Samenvattende suggestie:De VBA-methode biedt dynamische, realtime schaalaanpassing en is ideaal voor interactieve dashboards en gegevensgestuurde rapporten. Ze vereist echter dat de gebruiker vertrouwd is met vormnamen, de VBA-omgeving en het opslaan van de werkmap als een macro-ingeschakeld bestand ().xlsm) om de code te behouden. Deze methode is het meest geschikt voor situaties waarin automatisering nodig is en macrofunctionaliteit in de werkmap acceptabel is.


Handmatig de vormgrootte aanpassen via referentie

Als u de vormgroottes slechts af en toe hoeft aan te passen of een eenvoudige aanpak zonder macro’s wilt, kunt u handmatig de vormgrootte instellen op basis van een celwaarde. Deze aanpak is geschikt wanneer automatisering niet essentieel is of wanneer het gebruik van macro’s beperkt is.

Klik op de vorm die u wilt aanpassen en voer vervolgens handmatig de breedte- en hoogtewaarden in via het deelvenster Vorm opmaken (rechtermuisklik op vorm > Grootte en eigenschappen). U kunt hiervoor de celwaarde raadplegen. Hoewel dit niet automatisch gebeurt, is deze methode eenvoudig en effectief voor eenmalige aanpassingen.

Tip: Met deze aanpak moet u de vormgrootte handmatig bijwerken zodra celwaarden veranderen, omdat er geen koppeling bestaat tussen de vorm en de cel. Deze methode voorkomt beveiligingswaarschuwingen voor macro’s, maar biedt geen ondersteuning voor realtime visuele updates.

Lijst en exporteer alle vormen in de huidige Excel-werkboek:

De Grafiek exporteren-functie van Kutools voor Excel helpt u snel alle grafieken in het huidige werkboek op te sommen, en u kunt ze tegelijkertijd exporteren naar een opgegeven map, zoals in de onderstaande schermafbeelding wordt getoond. Download en probeer het nu! (30 dagen gratis proefversie)

exporteer alle vormen in de huidige Excel met Kutools


Gerelateerde artikelen:


Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins