Schaltflächen-Matrix per VBA erzeugen

Diese Schaltflächenmatrix wollen wir per VBA erzeugen.

Bild 1: Diese Schaltflächenmatrix wollen wir per VBA erzeugen.

Manchmal benötigt man viele gleichartige Steuerelemente. Ein bekanntes Beispiel ist eine Kalenderansicht, wo man mehrere Wochen mit jeweils sieben Tagen über Schaltflächen anzeigen möchte. Ein aktuelles Beispiel aus dieser Ausgabe ist der amvButtonWizard. Hier wollen wir für die zu erzeugenden Schaltflächen verfügbaren Icons in drei Reihen mit je 15 Icons anzeigen, damit der Benutzer schnell das gewünschte Icon auswählen kann. In diesem Beitrag zeigen wir, wie man solche Schaltflächen schnell zu einem Formular in der Entwurfsansicht hinzufügen kann.

Die gewünschte, aus Schaltflächen bestehende Matrix sehen wir in Bild 1.

Diese Schaltflächenmatrix wollen wir per VBA erzeugen.

Bild 1: Diese Schaltflächenmatrix wollen wir per VBA erzeugen.

Wenn wir solche Schaltflächen anlegen wollen, haben wir zwei Möglichkeiten:

  • Wir erledigen die Aufgabe von Hand. Dazu legen wir die Schaltflächen einzeln an, positionieren diese, weisen ihnen Steuerelementnamen zu und stellen gegebenenfalls noch den Wert für die Eigenschaft Beim Klicken ein.
  • Oder wir nutzen die Zeit mit einer anspruchsvolleren Aufgabe, bei der wir die Schaltflächen durch eine VBA-Prozedur erstellen lassen.

Die erste Variante hat den Vorteil, dass man hier nicht viel nachzudenken braucht. Sicher gibt es Gelegenheiten, an denen man Lust auf eine solche Aufgabe hat. Das Problem: Es dauert lange und man muss jederzeit mit Flüchtigkeitsfehlern rechnen, weil man beispielsweise die Schaltflächen nicht konsistent benennt. Außerdem ist das genaue Positionieren recht aufwändig.

Die zweite Variante erfordert eine gewisse Denkleistung und Programmierskills. Deshalb zeigen wir in diesem Beitrag, wie es genau funktioniert. Der Vorteil dieser Variante ist, dass Fehler kein Problem sind. Wenn sich herausstellt, dass die Größe der Schaltflächen nicht stimmt oder die Abstände nicht passen, können wir einfach die vorhandenen Steuerelemente löschen und die Prozedur erneut ausführen. Wichtig ist, dass wir wirklich alle Eigenschaften, die wir benötigen, direkt mit dem Code einstellen und diese nicht nachträglich ändern, weil wir sonst mit einer Neuerstellung der Schaltflächen die manuell hinzugefügten Änderungen wieder verwerfen würden.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar