Zum Hauptinhalt springen

Kutools für Office — Eine Suite. Fünf Tools. Erledigen Sie mehr.

Wie ändert man die Größe einer Form automatisch basierend auf/auf den Wert einer bestimmten Zelle in Excel?

Author Siluvia Last modified

Wenn Sie die Größe einer Form automatisch basierend auf dem Wert einer bestimmten Zelle ändern möchten, kann Ihnen dieser Artikel helfen.

Automatische Größenänderung einer Form basierend auf einem angegebenen Zellenwert mit VBA-Code


Automatische Größenänderung einer Form basierend auf einem angegebenen Zellenwert mit VBA-Code

Der folgende VBA-Code kann Ihnen helfen, die Größe einer bestimmten Form basierend auf dem Wert einer angegebenen Zelle im aktuellen Arbeitsblatt zu ändern. Bitte folgen Sie den nachstehenden Schritten.

1. Klicken Sie mit der rechten Maustaste auf das Tabellenblatt mit der Form, deren Größe Sie ändern möchten, und klicken Sie dann im Kontextmenü auf Ansicht Code.

2. Kopieren Sie im Fenster Microsoft Visual Basic for Applications den folgenden VBA-Code und fügen Sie ihn in das Codefenster ein.

VBA-Code: Automatische Größenänderung einer Form basierend auf einem angegebenen Zellenwert 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

Hinweis: Im Code ist „Oval 2“ der Name der Form, deren Größe Sie ändern werden. Und Zeile = 2, Spalte = 1 bedeutet, dass die Größe der Form „Oval 2“ mit dem Wert in A2 geändert wird. Ändern Sie diese Werte nach Bedarf.

Um mehrere Formen automatisch basierend auf unterschiedlichen Zellwerten zu vergrößern, wenden Sie bitte den folgenden VBA-Code an.

VBA-Code: Automatisches Ändern der Größe mehrerer Formen basierend auf verschiedenen angegebenen Zellenwerten 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

Hinweise:

1) Im Code sind „Oval 1“, „Smiley Gesicht 3“ und „Herz 3“ die Namen der Formen, deren Größe Sie automatisch ändern werden. Und A1, A2 und A3 sind die Zellen, deren Werte Sie zur automatischen Größenanpassung der Formen verwenden.
2) Wenn Sie weitere Formen hinzufügen möchten, fügen Sie bitte die Zeilen "ElseIf xAddress = "A3" Then" und "Call SizeCircle("Herz 2", Val(Target.Value))" oberhalb der ersten "End If"-Zeile im Code ein. Ändern Sie die Zelladresse und den Formnamen entsprechend Ihren Anforderungen.

3. Drücken Sie gleichzeitig die Tasten Alt + Q, um das Fenster Microsoft Visual Basic for Applications zu schließen.

Ab jetzt wird sich die Größe der Form Oval 2 automatisch ändern, wenn Sie den Wert in Zelle A2 ändern. Siehe Screenshot:

 change the value in a specific cell , the size of shape will be changed automatically

Oder ändern Sie die Werte in den Zellen A1, A2 und A3, um die entsprechenden Formen „Oval 1“, „Smiley Gesicht 3“ und „Herz 3“ automatisch zu vergrößern. Siehe Screenshot:

change the value in a specific cells , the size of shapes will be changed automatically

Hinweis: Die Größe der Form ändert sich nicht mehr, wenn der Zellenwert größer als 10 ist.


Alle Formen in der aktuellen Excel-Arbeitsmappe auflisten und exportieren:

Die Export Graphics-Funktion von Kutools für Excel hilft Ihnen dabei, schnell alle Formen in der aktuellen Arbeitsmappe aufzulisten, und Sie können sie alle auf einmal in einen bestimmten Ordner exportieren, wie im folgenden Screenshot gezeigt. Laden Sie es herunter und probieren Sie es jetzt aus! (30-Tage kostenlose Testversion)

export all shapes in current Excel by kutools


Verwandte Artikel:

Die besten Produktivitätstools für das Büro

🤖 Kutools AI Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung |  Code generieren  |  Benutzerdefinierte Formeln erstellen |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen zusammenführen, ohne Daten zu verlieren | Runden...
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match...
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl Dropdown-Liste...
Spaltenmanager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeitsstatus versteckter Spalten umschalten | Bereiche & Spalten vergleichen...
Empfohlene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappe & Arbeitsblatt-Manager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (fett/kursiv/durchgestrichen filtern...) ...
Top15 Toolsets:12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...) |50+ Diagramm typen (Gantt-Diagramm, ...) |40+ praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...) |19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...) |12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...) |7 Konsolidierungs- & Aufteilungstools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere!

Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher

  • Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
  • Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!

Alle Kutools-Add-Ins. Ein Installationspaket

Das Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro und ist ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

Excel Word Outlook Tabs PowerPoint
  • All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
  • Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
  • 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins