Hvordan ændres formformat automatisk / afhængig af specificeret celleværdi i Excel?
Hvis du automatisk vil ændre formstørrelsen baseret på værdien af en bestemt celle, kan denne artikel hjælpe dig.
Skift formformat automatisk baseret på specificeret celleværdi med VBA-kode
Skift formformat automatisk baseret på specificeret celleværdi med VBA-kode
Den følgende VBA-kode kan hjælpe dig med at ændre en bestemt formstørrelse baseret på den angivne celleværdi i det aktuelle regneark. Gør som følger.
1. Højreklik på arkfanen med den form, du har brug for for at ændre størrelse, og klik derefter på Vis kode fra højreklikmenuen.
2. i Microsoft Visual Basic til applikationer vindue, kopier og indsæt følgende VBA-kode i vinduet Kode.
VBA-kode: Skift automatisk formstørrelse baseret på den angivne celleværdi i 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
Bemærk: I koden, “Oval 2”Er det formnavn, du vil ændre størrelsen. Og Række = 2, Kolonne = 1 betyder, at størrelsen på formen ”Oval 2” ændres med værdien i A2. Skift dem, som du har brug for.
For automatisk ændring af størrelsen på flere figurer baseret på forskellige celleværdier, skal du anvende nedenstående VBA-kode.
VBA-kode: Ændr størrelsen på flere figurer automatisk baseret på forskellige specificerede cellers værdi i 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
Bemærkninger:
3. Trykke andre + Q taster samtidigt for at lukke Microsoft Visual Basic til applikationer vindue.
Fra nu af, når du ændrer værdien i celle A2, ændres størrelsen på form Oval 2 automatisk. Se skærmbillede:
Eller skift værdierne i celle A1, A2 og A3 for automatisk at ændre størrelsen på de tilsvarende figurer "Oval 1", "Smiley Face 3" og "Heart 3". Se skærmbillede:
Bemærk: Formstørrelsen ændres ikke længere, når celleværdien er større end 10.
Liste over og eksport af alle figurer i den aktuelle Excel-projektmappe:
Eksporter grafik nytte af Kutools til Excel hjælpe dig med hurtigt at liste alle figurer i den aktuelle projektmappe, og du kan eksportere dem alle til en bestemt mappe på én gang som nedenstående skærmbillede shwon. Download og prøv det nu! (30-dages gratis spor)
Relaterede artikler:
- Hvordan tilføjes musen over tip til en bestemt form i Excel?
- Hvordan udfyldes en figur med gennemsigtig baggrundsfarve i Excel?
- Hvordan skjules eller skjules en bestemt form baseret på specificeret celleværdi i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!