Ga naar hoofdinhoud
 

Hoe verander je de vormgrootte automatisch op basis van / afhankelijk van de opgegeven celwaarde in Excel?

Auteur: Siluvia Laatst gewijzigd: 2020-07-22

Als u de vormgrootte automatisch wilt wijzigen op basis van de waarde van een opgegeven cel, kan dit artikel u helpen.

Verander de vormgrootte automatisch op basis van de opgegeven celwaarde met VBA-code


Verander de vormgrootte automatisch op basis van de opgegeven celwaarde met VBA-code

De volgende VBA-code kan u helpen om een ​​bepaalde vormgrootte te wijzigen op basis van de opgegeven celwaarde in het huidige werkblad. Ga als volgt te werk.

1. Klik met de rechtermuisknop op de bladtab met de vorm waarvan u de grootte wilt wijzigen, en klik vervolgens Bekijk code vanuit het rechtsklikmenu.

2. In de Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende VBA-code in het codevenster.

VBA-code: verander de vormgrootte automatisch op basis van de 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

Note: In de code, "Ovaal 2”Is de vormnaam waarvan u de grootte wilt wijzigen. En Rij = 2, Kolom = 1 betekent dat de grootte van vorm "Ovaal 2" wordt gewijzigd met de waarde in A2. Wijzig ze indien nodig.

Pas de onderstaande VBA-code toe om het formaat van meerdere vormen automatisch te wijzigen op basis van verschillende celwaarden.

VBA-code: het formaat van meerdere vormen automatisch wijzigen op basis van de waarde van verschillende gespecificeerde 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

Opmerkingen:

1) In de code, "Ovaal 1","Smileygezicht 3"En"Hart 3”Is de naam van de vormen, verandert u hun grootte automatisch. En A1, A2 enA3 zijn de cellen waarvan u de grootte van vormen automatisch wijzigt op basis van.
2) Als je meer vormen wilt toevoegen, voeg dan lijnen toe "ElseIf xAddress = "A3" Dan"en "Call SizeCircle (" Heart 2 ", Val (Target.Value))"boven de eerste"End If"regel in de code. En verander het celadres en de vormnaam op basis van uw behoeften.

3. druk op anders + Q toetsen tegelijk om het Microsoft Visual Basic voor toepassingen venster.

Vanaf nu, wanneer u de waarde in cel A2 wijzigt, wordt de grootte van vorm Oval 2 automatisch gewijzigd. Zie screenshot:

Of verander de waarden in cel A1, A2 en A3 om de corresponderende vormen "Ovaal 1", "Smileygezicht 3" en "Hart 3" automatisch aan te passen. Zie screenshot:

Note: De vormgrootte verandert niet langer wanneer de celwaarde groter is dan 10.


Maak een lijst van en exporteer alle vormen in de huidige Excel-werkmap:

Exporteer afbeeldingen nut van Kutools for Excel helpen u snel alle vormen in de huidige werkmap weer te geven, en u kunt ze allemaal tegelijk naar een bepaalde map exporteren, zoals de onderstaande schermafbeelding laat zien. Download en probeer het nu! (30 dagen gratis proefperiode)


Gerelateerde artikelen:

Beste Office-productiviteitstools

🤖 Kutools AI-assistent: Een revolutie teweegbrengen in de data-analyse op basis van: Intelligente uitvoering   |  Genereer code  |  Aangepaste formules maken  |  Analyseer gegevens en genereer grafieken  |  Roep Kutools-functies aan...
Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

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


Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!