Skip to main content

Hoe kun je automatisch de grootte van een vorm wijzigen op basis van/afhankelijk van een bepaalde celwaarde in Excel?

Author: Siluvia Last Modified: 2025-05-29

Als je de grootte van een vorm automatisch wilt wijzigen op basis van de waarde van een bepaalde cel, kan dit artikel je helpen.

Automatisch de grootte van een vorm wijzigen op basis van een bepaalde celwaarde met VBA-code


Automatisch de grootte van een vorm wijzigen op basis van een bepaalde celwaarde met VBA-code

De volgende VBA-code kan je helpen om de grootte van een bepaalde vorm te wijzigen op basis van een bepaalde celwaarde in het huidige werkblad. Volg de onderstaande stappen.

1. Klik met de rechtermuisknop op het tabblad van het blad met de vorm waarvan je de grootte wilt wijzigen en klik vervolgens op Weergave Code in het rechtsklikmenu.

2. In het Microsoft Visual Basic for Applications-venster kopieer en plak je de volgende VBA-code in het Code-venster.

VBA-code: Automatisch de grootte van een vorm wijzigen op basis van een bepaalde 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

Opmerking: In de code is “Oval 2” de naam van de vorm waarvan je de grootte gaat wijzigen. En Rij = 2, Kolom = 1 betekent dat de grootte van vorm “Oval 2” zal veranderen met de waarde in A2. Pas deze waarden aan zoals je nodig hebt.

Om meerdere vormen automatisch te herschalen op basis van verschillende celwaarden, pas dan de onderstaande VBA-code toe.

VBA-code: Automatisch meerdere vormen herschalen op basis van verschillende gespecificeerde cellenwaarden 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

Opmerkingen:

1) In de code zijn “Oval 1”, “Smiley Face 3” en “Heart 3” de namen van de vormen waarvan je de grootte automatisch zult wijzigen. En A1, A2 en A3 zijn de cellen waarvan de waarden je gebruikt om de vormen automatisch te herschalen.
2) Als je meer vormen wilt toevoegen, voeg dan de regels "ElseIf xAddress = "A3" Then" en "Call SizeCircle("Heart 2", Val(Target.Value))" toe boven de eerste "End If"-regel in de code. Pas het celadres en de vormnaam aan op basis van je behoeften.

3. Druk gelijktijdig op Alt + Q toetsen om het Microsoft Visual Basic for Applications-venster te sluiten.

Vanaf nu zal, wanneer je de waarde in cel A2 wijzigt, de grootte van vorm Oval 2 automatisch veranderen. Zie screenshot:

 change the value in a specific cell , the size of shape will be changed automatically

Of wijzig de waarden in cel A1, A2 en A3 om de bijbehorende vormen "Oval 1", "Smiley Face 3" en "Heart 3" automatisch te herschalen. Zie screenshot:

change the value in a specific cells , the size of shapes will be changed automatically

Opmerking: De grootte van de vorm zal niet langer veranderen wanneer de celwaarde groter is dan 10.


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

Het Export Graphics-hulpprogramma van Kutools voor Excel helpt je om snel alle vormen in het huidige werkboek te lijsten, en je kunt ze allemaal tegelijk naar een bepaalde map exporteren zoals in de onderstaande screenshot te zien is. Download en probeer het nu! (30-daagse gratis proef)

export all shapes in current Excel by kutools


Gerelateerde artikelen:

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...


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

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!