Wie kann ich die Formgröße basierend auf dem angegebenen Zellenwert in Excel automatisch ändern?
Wenn Sie die Formgröße basierend auf dem Wert einer angegebenen Zelle automatisch ändern möchten, kann Ihnen dieser Artikel helfen.
Automatische Änderung der Formgröße basierend auf dem angegebenen Zellenwert mit VBA-Code
Automatische Änderung der Formgröße basierend auf dem angegebenen Zellenwert mit VBA-Code
Der folgende VBA-Code kann Ihnen helfen, eine bestimmte Formgröße basierend auf dem im aktuellen Arbeitsblatt angegebenen Zellenwert zu ändern. Bitte gehen Sie wie folgt vor.
1. Klicken Sie mit der rechten Maustaste auf die Registerkarte "Blatt" mit der Form, deren Größe Sie ändern müssen, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü.
2. In dem Microsoft Visual Basic für Applikationen Kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Codefenster ein.
VBA-Code: Formgröße automatisch basierend auf dem in Excel angegebenen Zellenwert ä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
Note: Im Code “Oval 2”Ist der Formname, dessen 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. Bitte ändern Sie sie nach Bedarf.
Wenden Sie den folgenden VBA-Code an, um die Größe mehrerer Formen basierend auf unterschiedlichen Zellenwerten automatisch zu ändern.
VBA-Code: Ändern Sie automatisch die Größe mehrerer Formen basierend auf dem Wert der verschiedenen angegebenen Zellen 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
Anmerkungen:
3. Drücken Sie Andere + Q Tasten gleichzeitig zum Schließen der Microsoft Visual Basic für Applikationen Fenster.
Wenn Sie von nun an den Wert in Zelle A2 ändern, wird die Größe der Form Oval 2 automatisch geändert. Siehe Screenshot:
Oder ändern Sie die Werte in Zelle A1, A2 und A3, um die Größe der entsprechenden Formen "Oval 1", "Smiley Face 3" und "Heart 3" automatisch zu ändern. Siehe Screenshot:
Note: Die Formgröße ändert sich nicht mehr, wenn der Zellenwert größer als 10 ist.
Listen Sie alle Formen in der aktuellen Excel-Arbeitsmappe auf und exportieren Sie sie:
Das Grafiken exportieren Nutzen von Kutools for Excel Sie können schnell alle Formen in der aktuellen Arbeitsmappe auflisten und sie alle gleichzeitig in einen bestimmten Ordner exportieren, wie im folgenden Screenshot gezeigt. Jetzt herunterladen und ausprobieren! (30 Tage kostenloser Trail)
In Verbindung stehende Artikel:
- Wie füge ich einer bestimmten Form in Excel eine Maus über die Spitze hinzu?
- Wie fülle ich eine Form mit transparenter Hintergrundfarbe in Excel?
- Wie kann ich eine bestimmte Form basierend auf dem angegebenen Zellenwert in Excel ein- oder ausblenden?
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, 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 Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!