Hogyan lehet automatikusan megváltoztatni az alak méretét az Excel meghatározott cellájának értékétől függően?
Ha automatikusan meg akarja változtatni az alak méretét egy megadott cella értéke alapján, akkor ez a cikk segítségére lehet.
Az alak méretének automatikus módosítása a megadott cellaérték alapján, VBA kóddal
Az alak méretének automatikus módosítása a megadott cellaérték alapján, VBA kóddal
A következő VBA-kód segíthet egy adott alakméret megváltoztatásában az aktuális munkalap megadott cellája alapján. Kérjük, tegye a következőket.
1. Kattintson a jobb gombbal a méretre változtatni kívánt lapfülre, majd kattintson a gombra Kód megtekintése a jobb egérgombbal kattintva.
2. Ban,-ben Microsoft Visual Basic for Applications ablakba másolja és illessze be a következő VBA kódot a Kód ablakba.
VBA-kód: Az alak méretének automatikus módosítása az Excel megadott cellája alapján
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
Megjegyzések: A kódban:2. ovális”Az alak neve, amelynek méretét megváltoztatja. És Sor = 2, Oszlop = 1 azt jelenti, hogy az „Oval 2” alak mérete megváltozik az A2 értékével. Kérjük, változtassa meg őket szükség szerint.
Több alakzat automatikus átméretezéséhez különböző cellaértékek alapján alkalmazza az alábbi VBA kódot.
VBA-kód: Több alakzat automatikus átméretezése az Excel különböző, megadott cellái értéke alapján
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
Megjegyzések:
3. nyomja meg más + Q gombok egyszerre a Microsoft Visual Basic for Applications ablak.
Mostantól, amikor megváltoztatja az értéket az A2 cellában, az Oval 2 alakzat mérete automatikusan megváltozik. Lásd a képernyőképet:
Vagy módosítsa az A1, A2 és A3 cellák értékeit, hogy automatikusan átméretezze a megfelelő "Oval 1", "Smiley Face 3" és "Heart 3" alakokat. Lásd a képernyőképet:
Megjegyzések: Az alak mérete már nem változik, ha a cella értéke nagyobb, mint 10.
Az összes alakzat felsorolása és exportálása az aktuális Excel munkafüzetben:
A Exportálja a grafikát hasznossága Kutools az Excel számára segít gyorsan felsorolni az összes alakzatot az aktuális munkafüzetben, és mindet egyszerre exportálhatja egy adott mappába, az alábbi képernyőképként. Töltse le és próbálja ki most! (30 napos ingyenes túra)
Kapcsolódó cikkek:
- Hogyan adhatjuk meg az egérrel a csúcsot egy bizonyos alakzathoz az Excelben?
- Hogyan lehet kitölteni egy alakot átlátszó háttérszínnel az Excelben?
- Hogyan lehet elrejteni vagy elrejteni egy bizonyos alakzatot az Excel megadott cellája alapján?
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!