Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: hziemer am Juni 25, 2016, 16:42:43 Nachmittag

Titel: Office 2016 CommandButton automatisch verteilen und anordnen
Beitrag von: hziemer am Juni 25, 2016, 16:42:43 Nachmittag
Einen schönen Tag an alle Forum Mitglieder

Nach längerer Zeit mal wieder ein Hilferuf an alle hier im Forum.
Ich habe auf 2 Blätter jeweils 54 CommandButton. 8 pro Zeile und 7 Zeilen, wobei die letzte Zeile nicht komplett gefüllt ist. Jeder Button hat die Größe von 60 (Height) und 135 (Width).
Jetzt passiert es immer wieder, das mittendrin ein neuer Button eingefügt werden muss. Dann beginnt das große Verschieben, bis der neue Button an der richtigen Stelle steht. Das mache ich immer manuell.
Danach justiere ich wieder alle CommandButtons, dass sie in gerade Linie stehen, sowohl vertikal als horizontal. Das ist eine Heidenklickerei.
Das immer für 2 Blätter, weil hier verschieden Makros aufgerufen werden.

Deshalb meine Frage: Gibt es eine Möglichkeit alle Buttons mittels VBA so auszurichten, dass 8 gerade in einer Reihe stehen und 7 oder demnächst mehr Zeilen akkurat untereinander?

Jeder Tipp ist willkommen.
Danke für eure Hilfe.
Grüße aus dem Schwabenland
hziemer
Titel: Antw:Office 2016 CommandButton automatisch verteilen und anordnen
Beitrag von: gmg-cc am Juni 25, 2016, 16:53:43 Nachmittag
Moin,

ja das geht über VBA. Jedes Objekt, also auch der CommandButton hat Eigenschaften. Und die für dich relevanten habe ich dir im Bild markiert:
Titel: Antw:Office 2016 CommandButton automatisch verteilen und anordnen
Beitrag von: hziemer am Juni 29, 2016, 09:57:40 Vormittag
Hallo Günther

Vielen Dank für Deine sehr schnelle Antwort.
Kannst Du mir noch etwas Code als Beispiel zeigen, wie ich das aufbauen muss?
Ich finde immer nur Beispiele wie ich neue Buttons erzeuge und positioniere, aber nie wie ich bestehende erfase und verschiebe.

Auf jeden Fall, danke

Viele Grüße aus dem (Blick aus dem Fenster) sonnigen Schwabenland
hziemer
Titel: Antw:Office 2016 CommandButton automatisch verteilen und anordnen
Beitrag von: gmg-cc am Juni 29, 2016, 10:22:50 Vormittag
Moin,

na ja, die Eigenschaften und deren Namen stehen ja alle schön in den gezeigten Fenster. Und das geht dann beispielsweise so:

Option Explicit

Private Sub UserForm_Activate()
   Dim cbLinks As Long, cbHDiff As Long
   
   cbLinks = 24
   cbHDiff = 36
   With CommandButton1
      .Left = cbLinks
      .Top = 48
   End With
   With CommandButton2
      .Left = cbLinks
      .Top = 50 + 1 * cbHDiff
   End With
   With CommandButton3
      .Left = cbLinks
      .Top = 50 + 2 * cbHDiff
   End With
End Sub

Natürlich kannst du noch die anderen Eigenschaften einbinden, Width, Heigth, … Oder du nutzt das Raster, was aus meiner Sicht oft einfacher ist.
Titel: Antw:Office 2016 CommandButton automatisch verteilen und anordnen
Beitrag von: hziemer am Juni 29, 2016, 18:07:25 Nachmittag
Guten Abend Günther

Das das so einfach ist, hätte ich mir nicht gedacht.

Danke für Deine Mühe

Mit freundlichen Grüßen aus dem schönen Schwabenland.

hziemer