kann ich Shapes (Formular-Kombifelder, nicht VBA!) per VBA an Zellen positionieren?
Also z.B. ein Kombifeld namens C3 per VBA zur Zelle C3 (linke obere Ecke Feld an linke obere Ecke Zelle) bewegen? Wenn ja - wie?
Gruß&Dank
Peter
Öffne dein Excel-Dokument und stelle sicher, dass sich das Shape (z.B. ein Kombifeld) auf dem Arbeitsblatt befindet.
Gehe in den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsblattname)“, wähle „Einfügen“ und dann „Modul“.
Gib den folgenden Code ein:
Sub ShapeAnZelleAusrichten()
Dim shp As Shape
Set shp = ActiveSheet.Shapes("Kombifeld") 'Ersetze "Kombifeld" durch den Namen deines Shapes
With shp
.Top = ActiveSheet.Range("C3").Top
.Left = ActiveSheet.Range("C3").Left
End With
End Sub
Führe das Makro aus: Drücke F5 oder gehe zu „Run“ > „Run Sub/UserForm“.
Überprüfe das Ergebnis: Dein Shape sollte nun an der gewünschten Zelle positioniert sein.
Wenn du nicht mit VBA arbeiten möchtest, kannst du Shapes auch manuell ausrichten:
Beispiel 1: Wenn du ein Kombifeld in Zelle D5 platzieren möchtest, ändere die Zeile im Code zu:
.Top = ActiveSheet.Range("D5").Top
.Left = ActiveSheet.Range("D5").Left
Beispiel 2: Um mehrere Shapes gleichzeitig auszurichten, kannst du eine Schleife verwenden, um durch eine Liste von Shapes zu iterieren.
Group Methode: Wenn du mehrere Shapes zusammenfassen möchtest, um sie gemeinsam zu bewegen.With-Anweisungen: Dies macht deinen Code sauberer und effizienter.1. Kann ich Shapes auch ohne VBA an Zellen ausrichten? Ja, du kannst Shapes manuell ziehen oder die Ausrichtungsoptionen in der Menüleiste verwenden.
2. Funktioniert dieser VBA-Code in allen Excel-Versionen? Der Code sollte in den meisten modernen Excel-Versionen funktionieren, jedoch können sich einige Menüs und Funktionen unterscheiden. Vergewissere dich, dass du eine Version verwendest, die VBA unterstützt.