Wie ändert man die Größe einer Form automatisch basierend auf/auf den Wert einer bestimmten Zelle in Excel?
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:
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:
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:
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)
Verwandte Artikel:
- Wie fügt man eine Mouse-over-Hinweistext zu einer bestimmten Form in Excel hinzu?
- Wie füllt man eine Form mit transparenter Hintergrundfarbe in Excel?
- Wie blendet man eine bestimmte Form basierend auf einem angegebenen Zellenwert in Excel ein oder aus?
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!