Salt la conținutul principal
 

Cum se modifică automat dimensiunea formei în funcție de / depinde de valoarea specificată a celulei în Excel?

Autor: Siluvia Ultima modificare: 2024-09-26

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:

1) În cod, „Oval 1","Fața zâmbitoare 3"Și"Inima 3”Sunt numele formelor, le veți schimba automat dimensiunile. Și A1, A2 si A3 sunt celulele pe care valorile le veți redimensiona automat pe baza formelor.
2) Dacă doriți să adăugați mai multe forme, vă rugăm să adăugați linii "ElseIf xAddress = "A3" Atunci" și „Dimensiunea apelului Cerc („ Heart 2 ”, Val (Target.Value))"deasupra primului"Final, dacă"linie în cod. Și modificați adresa celulei și numele formei în funcție de nevoile dvs.

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:

modificați valoarea într-o anumită celulă, dimensiunea formei se va schimba automat

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:

modificați valoarea într-o anumită celule, dimensiunea formelor se va schimba automat

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! (traseu gratuit de 30 de zile)

exportați toate formele în Excel actual de kutools


Legate de articole:

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


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!