Cum se modifică automat dimensiunea formei în funcție de / depinde de valoarea specificată a celulei în Excel?
Dacă doriți să modificați automat dimensiunea formei pe baza valorii unei celule specificate, acest articol vă poate ajuta.
Schimbați automat dimensiunea formei pe baza valorii specificate a celulei cu codul VBA
Schimbați automat dimensiunea formei pe baza valorii specificate a celulei cu codul VBA
Următorul cod VBA vă poate ajuta să modificați o anumită dimensiune a formei pe baza valorii de celulă specificate în foaia de lucru curentă. Vă rugăm să faceți următoarele.
1. Faceți clic dreapta pe fila de foaie cu forma pe care trebuie să o modificați, apoi faceți clic pe Afișați codul din meniul cu clic dreapta.
2. În Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod VBA în fereastra Cod.
Cod VBA: schimbarea automată a dimensiunii formei pe baza valorii de celulă specificate în 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
notițe: În cod, „Oval 2”Este numele formei pe care îi veți schimba dimensiunea. Și Rând = 2, Coloană = 1 înseamnă că dimensiunea formei „Oval 2” va fi modificată cu valoarea din A2. Vă rugăm să le schimbați după cum aveți nevoie.
Pentru redimensionarea automată a mai multor forme bazate pe valori de celule diferite, vă rugăm să aplicați codul VBA de mai jos.
Cod VBA: redimensionarea automată a mai multor forme pe baza valorii diferitelor celule specificate în 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
note:
3. presa Alt + Q tastele simultan pentru a închide Microsoft Visual Basic pentru aplicații fereastră.
De acum înainte, când modificați valoarea din celula A2, dimensiunea formei Oval 2 va fi modificată automat. Vedeți captura de ecran:
Sau modificați valorile din celula A1, A2 și A3 pentru a redimensiona automat formele corespunzătoare „Oval 1”, „Smiley Face 3” și „Heart 3”. Vedeți captura de ecran:
notițe: Dimensiunea formei nu se va mai modifica atunci când valoarea celulei este mai mare de 10.
Listează și exportă toate formele din registrul de lucru Excel curent:
Exportați grafică utilitatea Kutools pentru Excel vă ajută să listați rapid toate formele din registrul de lucru curent și le puteți exporta pe toate într-un anumit folder simultan, după cum se afișează imaginea de mai jos. Descărcați și încercați acum! (30- traseu liber de o zi)
Legate de articole:
- Cum se adaugă mouse-ul peste vârf la o anumită formă în Excel?
- Cum se completează o formă cu o culoare de fundal transparentă în Excel?
- Cum se ascunde sau se ascunde o anumită formă pe baza valorii de celulă specificate în Excel?
Cele mai bune instrumente de productivitate Office
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
- reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
- Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
- Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
- Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
- Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
- Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
- Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
- Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
- Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
















