Wie passt man die Formgröße in Excel automatisch an den Wert einer festgelegten Zelle an?
In Excel verleihen Formen wie Kreise, Rechtecke oder benutzerdefinierte Grafiken Ihren Tabellen visuelle Tiefe – sei es für ansprechende Dashboards oder zur anschaulichen Darstellung von Daten. Manchmal möchten Sie, dass sich die Größe einer Form dynamisch an den Wert einer bestimmten Zelle anpasst: etwa für Fortschrittsbalken, visuelle Statusanzeigen oder einfach, um Ihre Berichte interaktiver und intuitiver zu gestalten. Obwohl Excel keine direkte integrierte Funktion bietet, um die Formgröße automatisch mit dem Zellinhalt zu verknüpfen, zeigt dieser Artikel praktische Methoden, wie Sie Formen dennoch automatisch entsprechend dem Wert einer festgelegten Zelle skalieren – für dynamischere und visuell aussagekräftigere Excel-Projekte.
Formgröße automatisch basierend auf dem Wert einer festgelegten Zelle mit VBA-Code ändern
Um eine Form automatisch an den Wert einer bestimmten Zelle anzupassen, können Sie ein VBA-Makro nutzen. Dieser Ansatz eignet sich ideal, um Dashboard-Elemente zu automatisieren oder Datenänderungen visuell hervorzuheben – ganz ohne manuelle Anpassung jeder einzelnen Form. Der folgende VBA-Code verknüpft die Größe einer Form direkt mit dem Wert einer Zelle in Ihrem Arbeitsblatt.

Office Tab
Registerkartenbasierte Navigation für Word, Excel, PowerPoint und mehr – genau wie im Webbrowser, mit flüssigem Wechsel zwischen Dokumenten in einem einzigen Fenster.
Bitte befolgen Sie diese Schritte:
1. Klicken Sie mit der rechten Maustaste auf die Registerkarte des Arbeitsblatts, das die zu skalierende Form enthält, und wählen Sie im Kontextmenü Code anzeigen. Dadurch öffnet sich das Code-Editor-Fenster für dieses spezielle Arbeitsblatt.
2. Kopieren Sie im Fenster Microsoft Visual Basic for Applications den folgenden VBA-Code, und fügen Sie ihn in das Codefenster ein. Achten Sie darauf, dass Sie ihn in das Codesheet des Arbeitsblatts einfügen, in dem sich Ihre Form befindet.
VBA-Code: Formgröße automatisch basierend auf dem Wert einer festgelegten Zelle in Excel ändern
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 Erläuterung und Hinweise:
- In diesem Code bezieht sich „Oval 2“ auf den Namen der Form, deren Größe Sie ändern möchten. Stellen Sie sicher, dass dieser exakt dem Namen entspricht, der im Auswahlbereich angezeigt wird (Start > Suchen und Auswählen > Auswahlbereich).
- Der Code wird nur ausgelöst, wenn eine Änderung speziell in Zelle A2 vorgenommen wird (d. h. Zeile 2, Spalte 1). Möchten Sie eine andere Zelle verwenden, passen Sie diese Werte einfach entsprechend an.
- Die Größe der Form wird durch den Zellwert bestimmt, der den Durchmesser in Zentimetern angibt. Der Code legt eine obere Größenbegrenzung von 10 cm und eine untere Grenze von 1 cm fest, um extreme Skalierungsprobleme zu vermeiden.
- Geben Sie einen Wert außerhalb dieses Bereichs ein – also kleiner als 1 oder größer als 10 –, wird die Form auf die nächstgelegene Grenze skaliert.
- Sollte der angegebene Formularname nicht gefunden werden oder der Wert keine Zahl sein, ignoriert der Code die Aktion, ohne eine Fehlermeldung anzuzeigen.
Für Szenarien, in denen mehrere Formen automatisch basierend auf Werten in verschiedenen Zellen skaliert werden müssen – beispielsweise beim Erstellen einer Reihe visueller Indikatoren oder Messanzeigen – können Sie die VBA-Lösung wie unten gezeigt erweitern.
VBA-Code: Mehrere Formen automatisch basierend auf den Werten unterschiedlicher festgelegter Zellen skalieren
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 Wichtige Hinweise und Nutzungstipps:
If...ElseIfein, bevor das End Ifsteht. Geben Sie dabei die korrekte Zelladresse und den Formnamen ein.3. Drücken Sie nach dem Bearbeiten und Speichern des Codes Alt+Q, um das Fenster Microsoft Visual Basic for Applications zu schließen und zu Ihrem Arbeitsblatt zurückzukehren.
Sobald Sie den Wert in Zelle A2 ändern, wird die angegebene Form „Oval2“ automatisch in Echtzeit skaliert. Siehe Abbildung:

Ebenso passen sich die Formen „Oval 1“, „Smiley-Gesicht 3“ und „Herz 2“ sofort an, sobald Sie die Werte in den Zellen A1, A2 oder A3 aktualisieren. Siehe untenstehendes Beispiel:

Zusätzliche Hinweise:
– Die Skalierung wird nur wirksam, wenn sich die Werte in den festgelegten Zellen ändern. Sollten Sie eine Form manuell verschieben oder auf eine Weise verändern, die ihren Referenzpunkt beeinträchtigt, müssen Sie ihre Position unter Umständen zurücksetzen.
– Nur numerische Werte funktionieren wie vorgesehen. Leere Zellen oder Texteingaben können dazu führen, dass die Form auf die Mindestgröße schrumpft oder sich nicht wie erwartet anpasst.
– Stellen Sie sicher, dass Makros in Ihrer Excel-Umgebung aktiviert sind, da VBA-Lösungen Makroberechtigungen erfordern.
Hinweis: Die Größenanpassung der Form wächst nicht weiter, sobald der Zellwert 10 überschreitet (festgelegtes Maximum: 10 cm). Ebenso werden Werte unter 1 standardmäßig auf das Minimum (1 cm) gesetzt.
Tipps zur Fehlerbehebung: Sollte die Skalierung nicht wie erwartet funktionieren, überprüfen Sie sorgfältig, ob die Formnamen und Zellbezüge exakt übereinstimmen, ob Makros aktiviert sind und ob keine Arbeitsblattschutzbeschränkungen vorliegen. Im Falle von Laufzeitfehlern stellen Sie sicher, dass die angegebenen Formen im aktiven Arbeitsblatt vorhanden und ihre Namen korrekt geschrieben sind.
Zusammenfassender Vorschlag:Die VBA-Methode bietet dynamische Echtzeit-Skalierung und eignet sich ideal für interaktive Dashboards sowie datengesteuerte Berichte. Voraussetzung ist jedoch, dass der Benutzer mit der Benennung von Formen und der VBA-Umgebung vertraut ist und die Arbeitsmappe als makrofähige Datei ().xlsm) speichert, um den Code zu erhalten. Diese Methode ist besonders empfehlenswert, wenn Automatisierung erforderlich ist und Makros in der Arbeitsmappe zulässig sind.
Manuelle Formskalierung mithilfe einer Referenz
Wenn Sie die Formgrößen nur gelegentlich anpassen müssen oder eine einfache, makrofreie Methode bevorzugen, können Sie die Formgröße manuell an einen Zellwert anpassen. Dieser Ansatz ist ideal, wenn Automatisierung nicht zwingend erforderlich ist oder die Verwendung von Makros eingeschränkt wird.
Klicken Sie auf die Form, deren Größe Sie ändern möchten, und geben Sie anschließend im Bereich Form formatieren (Rechtsklick auf die Form > Größe und Eigenschaften) die gewünschten Breiten- und Höhenwerte manuell ein. Dabei können Sie den Zellwert als Referenz nutzen. Auch wenn diese Methode nicht automatisch ist, überzeugt sie durch Einfachheit und Effektivität – ideal für einmalige Anpassungen.
Tipp: Bei diesem Ansatz müssen Sie die Formgröße stets manuell anpassen, sobald sich die Zellwerte ändern, da keine Verknüpfung zwischen Form und Zelle besteht. Diese Methode umgeht Sicherheitswarnungen durch Makros, ermöglicht aber keine Echtzeit-Visualisierungen.
Alle Formen im aktuellen Excel-Arbeitsmappe auflisten und exportieren:
Mit dem Diagramm exportieren-Tool von Kutools für Excel können Sie schnell alle Formen in der aktuellen Arbeitsmappe auflisten und diese gleichzeitig in einen festgelegten Ordner exportieren – wie in der folgenden Abbildung gezeigt.Laden Sie es jetzt herunter und testen Sie es! (30-tägige kostenlose Testversion)

Verwandte Artikel:
- Wie fügt man einer bestimmten Form in Excel einen Mouseover-Hinweis hinzu?
- Wie füllt man eine Form in Excel mit einer transparenten Hintergrundfarbe?
- Wie blendet man eine bestimmte Form in Excel basierend auf einem festgelegten Zellwert ein oder aus?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...
Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
- Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!
Alle Kutools-Add-Ins – ein Installationsprogramm
Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.
- Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
- Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
- Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
- 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins