Hoe verander je de vormgrootte automatisch op basis van / afhankelijk van de opgegeven celwaarde in Excel?
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
Opmerking:: 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:
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:
Opmerking:: 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:
De 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-dag vrij parcours)
Gerelateerde artikelen:
- Hoe kan ik mouse-over-tip toevoegen aan een bepaalde vorm in Excel?
- Hoe vul je een vorm met een transparante achtergrondkleur in Excel?
- Hoe een bepaalde vorm te verbergen of zichtbaar te maken op basis van de opgegeven celwaarde in Excel?
De beste tools voor kantoorproductiviteit
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
- visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
- Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
- Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
- Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
- Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
- Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
- Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
- Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
- Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.

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!
















