Bedienungs-Elemente

Tipps für ein bequemes User-Interface

Eine Kalkulations-Lösung kann ganz ohne die hier gezeigten Bedienungs-Elemente auskommen: Sie sind für die Funktion nicht notwendig, ihre Verwendung in der "Beta-Version" einer Lösung kostet nur wertvolle Zeit. In der End-Version einer Lösung sind diese Elemente jedoch besonders wertvoll, wenn sie richtig eingesetzt werden. Sie erleichtern die Bedienung und schaffen mehr Übersicht.
Kalkulation Zahlen-Werkzeug, Profi- Tipps und Tricks
'Formular' Die Bedienungs-Elemente der Symbolleiste 'Formular'
Schieberegler Einen Zahl aus einem Bereich einstellen.
Auswahlknöpfe Genau eine von mehreren Möglichkeiten
Kontrollkästchen Eine einzelne Option ja - oder nein
Auswahl-Listen Werte auf eine Liste beschränken und bequem auswählen
Lookup-Listen Verweis: 'Übersetzung' einer Werte-Liste in eine andere
Tasten Bildschirmtasten, Schaltflächen, Buttons
VBA-Zugriff Lesen und Schreiben der Auswahl von Bedienungs-Elementen

Formular

Im Programm MS-Excel finden sie die hier gezeigten Bedienungs-Elemente in der Symbolleiste 'Formular'. Der Zugang ist je nach Version verschieden, z.B. MenüBefehl
Unter Stichwort "Steuerelementtypen" finden sie die dazu passende umfangreiche Hilfe.
Anwendung: Wählen sie in der Symbolleiste ein Element durch Mausklick aus, ziehen sie danach das Element im Kalkulationsblatt mit gedrückter Maustaste auf.
Gruppenfeld Kontrollkästchen Listenfeld Bildlaufleiste Button Optionsfeld Kombifeld Drehfeld

Zellverknüpfung:

Die Eigenschaften aller Formular-Elemente werden so eingestellt: Rechtsklick auf das Element, Menü Steuerelement formatieren

Das Feld 'Zellverknüpfung' legt fest, wohin das Ergebnis des Bedienungs-Elements geschrieben werden soll. Geben sie eine Adresse (Bezug) ein, z.B. A1

Das Ergebnis ist nur selten so verwertbar, wie es eingetragen wird. Meistens muss man es zur Verwendung 'aufbereiten', z.B. mit den Funktionen WENN (IF) oder VERWEIS (LOOKUP)
Umkehrung der Zellverknüpfung:
Wenn sie manuell oder mit VBA das Ergebnis (meist eine ganze Zahl) in diese Zelle schreiben, dann wird das betreffende Element auf diese Auswahl eingestellt.
Das bietet die Möglichkeit, Bedienungs-Elemente mit ↓ VBA-Programmen auf bestimmte Werte zu setzen, z.B. bei der Initialisierung, für Zufallswerte, für Animationen usw.

Ausdruck:

Unter 'Eigenschaften' können sie u.a. festlegen, ob das Element gedruckt werden soll. Das ist nur selten sinnvoll, da professionelle Lösungen getrennte Layouts für Bildschirm und Drucker verwenden.

Objekt-Positionierung:

Damit wird das Verhalten bestimmt, wenn sie Zeilen oder Spalten einfügen oder löschen, bzw. die Größe von Zellen ändern: Das Element 'macht diese Änderungen mit', oder bleibt davon unbeeinflusst.

Schutz:

Falls sie eine Lösung gegen ungewollte Änderung sichern, dann müssen sie sämtliche 'Zell-Verknüpfungen' zur Änderung freigeben - sonst funktioniert das Element nach dem Schutz nicht mehr.
Aufhebung des Zellschutzes:
Bereich markieren, Menü Format | Zellen | Schutz, Kästchen 'Gesperrt' aufheben.
Aktivierung des Schutzes: Menü Extras | Schutz | Blatt schützen.

Schieberegler

In der Symbolleiste ↑ Formular finden sie das Element 'Schieberegler' unter der Bezeichnung 'Bildlaufleiste'.
Sie können damit verschieden große, horizontale oder vertikale Schieberegler aufziehen.
Das Element 'Drehfeld' ist nur wenig unterschiedlich und wird genauso programmiert und verwendet.
50
Mit Rechtsklick | Steuerelement formatieren | Steuerung einzustellen: Wertebereich und Zellverknüpfung.
Wertebereich:
Als Unter- und Obergrenze sind (derzeit in Excel) ganze Zahlen 0..30000 möglich, als Schrittweite ganze Zahlen >=1
Standardwerte sind Bereich 0..100, Schrittweite 1.
Umkehrung: In die Zellverknüpfung kann man beliebige Werte eintragen - falls diese innerhalb des Regler-Bereichs liegen, wird dieser entsprechend eingestellt.

Wenn sie einen anderen Wertebereich benötigen (Gleitkomma, negative Zahlen) oder variable "Steilheit" der Regelung, dann können sie das mit nachgeschalteten Funktionen bewirken.
Einige Muster dazu auf einer eigenen Regler - Seite.
Einschränkung:
Markieren sie die Zelle der Zellverknüpfung und beschränken sie ihren Eingabe-Bereich auf sinnvolle und zulässige Werte (z.B 0..100 ):
Menü Daten | Gültigkeit. Vergessen sie nicht auf eine erklärende Fehlermeldung !
Freigabe:
Markieren sie die Zellverknüpfung und heben sie den ↑ Zellschutz auf: Menü Format | Zellen | Schutz.

Programmierung mit Visual Basic (VBA):

Mit VBA haben sie Zugriff auf jedes Bedienungs-Element.
Allgemeine Information darzu im Absatz ↓ VBA-Steuerung dieser Seite, spezielle Steuerung auf einer eigenen → Regler-Seite.
Beispiele:
(Beachten sie den nachgebauten Schieberegler am Beginn dieses Kapitels)

Auswahl-Knöpfe (radio-buttons)

In der Symbolleiste ↑ Formular finden sie die Elemente 'Gruppenfeld' und 'Optionsfeld'.
Optionsfelder sind immer in Gruppen zusammengefasst:
Aktivierung eines Elements schaltet alle anderen Elemente der Gruppe ab.
Beispiel:
rot grün blau
Farben-Test
Ergebnis (in der Zellverknüpfung der Gruppe):
1
Gruppenfeld Gruppen:
Umrahmen sie alle Mitglieder einer Gruppe vollständig (!) mit einem Gruppenfeld: So können sie zwischen mehreren Gruppen unterscheiden - pro Gruppe ist immer genau ein Element aktiviert.

Wenn sich auf einerm Kalkulationsblatt mehrere Auswahlknöpfe ohne Gruppenfeld befinden, dann gehören alle zu einer einzigen Gruppe und lösen einander gegenseitig aus.
Texte:
Zusammen mit jedem Auswahl-Knopf und mit jeder Gruppe ist ein Text ("Optionsfeld 1", ...) sichtbar. Dieser Text hat nur dekorative Wirkung und wird beim Aktivieren nicht als Wert weitergegeben !

Sie können diesen Text ändern, besser jedoch löschen und durch einen Text in einer Zelle des Arbeitsblatts (die sie auch programmieren können) ersetzen.
Ergebnis-Wert:
Mit Rechtsklick auf ein beliebiges Optionsfeld kann man der ganzen Gruppe eine Zellverknüpfung zuweisen.
In die angegebenen Zelle wird nach dem Anklicken der Option eine ganze Zahl (1, 2, ...) eingetragen, und zwar in jener Reihenfolge, in welcher die Optionsfelder angelegt wurden.

Da diese Werte kaum brauchbar sind, muss man sie in programmierbare Werte umwandeln, z.B. mit Hilfe der ↓ Lookup-Funktion.
Schutz aufheben:
Vergessen sie nicht, den ↑ Eingabe-Schutz für die Zellverknüpfung aufzuheben.
VBA:
Die ↓ Initialisierung erfolgt genauso wie bei Schiebereglern.

Kontrollkästchen (check-boxes)

In der Symbolleiste ↑ Formular finden sie das Element 'Kontrollkästchen': Jedes Element kann unabhängig von allen anderen aktiviert werden und liefert sein Ergebnis als logischen Wert in einer eigenen Zellverknüpfung.
Beispiel:
rot grün blau
FALSCH
FALSCH
FALSCH
Farben-Test
Wert:
Mit Rechtsklick auf ein Kontrollkästchen wird dem Element eine Zellverknüpfung zugewiesen. In dieser Zelle finden sie den logischen Wert WAHR (TRUE) oder FALSCH (FALSE).
Da nur 2 Werte möglich sind, wird der 'eigentliche' Zielwert meist mit Hilfe der WENN -(IF)-Funktion zugewiesen.
Beispiel für Zellverknüpfung auf C3:
=WENN(C3;"rot";"")
 
Schutz aufheben:
Vergessen sie nicht, den Eingabe-Schutz für die Zellverknüpfungen aller Kontrollkästchen aufzuheben (s.o.)
VBA;
Die ↓ Initialisierung erfolgt genauso wie bei Schiebereglern.

Auswahl-Listen

Werteliste:
Es gibt mehrere Möglichkeiten, Ein oder mehrere Elemente aus Listen auszuwählen. Alle setzen eine Werteliste an einer beliebigen Stelle eines Kalkulations-Blattes voraus.
Werteliste Beispiel einer Werteliste: Sie kann Texte (wie hier) oder Zahlen enthalten, die Zellen können auch aus Formeln berechnet werden.
Listenfeld:
Dieses Element finden sie in der Symbolleiste ↑ Formular.
Mit Rechtsklick lässt sich die Zellverknüpfung (s.o.) einstellen. Darüber hinaus muss unter 'Eingabebereich' die Werteliste definiert werden (in diesem Beispiel $G$25:$G$27 )

In der Zellverknüpfung finden sie eine ganze Zahl (1, 2, ...), entsprechend der Position des gewählten Elements in der Liste. Zur Übersetzung in einen verwendbaren Wert kann man die Funktion ↓ Verweis einsetzen.
Beispiel für ein Listenfeld:
Wählen sie einen Wert aus der Liste
1
Ergebnis in der Zellverknüpfung
rot
Ergebniswert mit Hilfe der ↓ Verweis- (Lookup)-Funktion
Kombinationsfeld:
Auch dieses Element finden sie in der Symbolleiste ↑ Formular.
Wie im Listenfeld wird Eingabebereich und Zellverknüpfung definiert.
Beispiel für ein Kombinationsfeld:
Wählen sie einen Wert aus der Liste
1
Ergebnis in der Zellverknüpfung
rot
Ergebniswert mit Hilfe der ↓ Lookup-Funktion
Einschränkung auf Eingabeliste:
Diese Möglichkeit stellt vermutlich die beste Variante dar, Werte aus Listen einzugeben. Dabei handelt es sich nicht um ein Element einer Symbolleiste:
Markieren sie eine Zelle und erteilen sie Menübefehl Als "Quelle" wird die Werteliste wie in den bereits gezeigten Beispielen definiert.
eingabeliste Beispiel für eine Eingabeliste:
Das Bild zeigt 2x die gleiche Zelle, deren Eingabewert auf eine Liste beschränkt wurde. Oben der "Normalzustand".
Beim Markieren erscheint rechts ein Auswahl-Pfeil und die Auswahl aus der Liste wird möglich.
Der große Vorteil dieser Methode: Das Feld enthält bereits den gewünschten Listenwert !

Lookup-(Verweis)-Listen

Funktion "Verweis" (Lookup) wird dazu verwendet, um Elemente einer Liste in eine andere zu "übersetzen".
Dafür ist die Vorgabe einer 2spaltigen Tabelle (Beispiel rechts) erforderlich. Jedem Wert (oder Intervall) der linken Spalte (aufsteigend sortiert, "Suchvektor") entspricht ein Wert der rechten Spalte (Ergebnis-Vektor).
Beispiel für eine vorgegebene Lookup-Tabelle:
Jedem Wert des Suchvektors (links, sortiert !) entspricht genau einer des Ergebnis-Vektors (rechts).
Nachdem die Lookup-Liste ("Nachschlage-Liste) festgelegt ist, kann man mit der Funktion "Verweis" (Lookup) die Zahlenwerte 1..3 in Farben "übersetzen". Ein derartiger Zahlenwert kann z.B. als Zellverknüpfung von einer Gruppe von ↑ Auswahlknöpfen, von einem ↑ Listenfeld oder von einem ↑ Kombinationsfeld stammen. Annahme für das Beispiel: Die Zahlen ("Suchkriterium") befinden sich im Bereich F9:F15 (siehe Beispiel unterhalb rechts), das Ergebnis der Funktion wird in G9:G15 erwartet.
Die Funktion "Verweis" bietet 2 Formen an. Hier wird die Form "Suchkriterium;Suchvektor;Ergebnisvektor" verwendet:
Beispiel des Formel-Assistenten beim Einfügen der Verweis-Formel in Zelle G9:
Suchkriterium ist der vorliegende Ausgangswert, der übersetzt werden soll - in diesem Fall eine ganze Zahl 1..3.
Suchvektor ist jene Liste, in welcher das Suchkriterium gesucht werden soll. (hier: Zahlenliste 1..2..3).
Ergebnisvektor markiert jenen Bereich, der das Ergebnis liefern soll (hier: Textliste rot..grün..blau)
Achten sie darauf, die Adressen der beiden Vektoren absolut anzugeben !
Nach Einfügen der Funktion kann sie im Bereich G9:G15 nach unten ausgefüllt werden.
Das Ergebnis der Lookup-Funktion in einem Beispiel:
Genau passende Werte werden 1:1 übersetzt, d.h. die Ergebnisse werden aus der gleichen Zeile der Ergebnis-Spalte bezogen.
Wenn ein Suchkriterium kleiner ist als die 1. Zeile des Suchvektors, dann liefert Funktion Verweis den Fehlerwert #NV.
Definieren sie daher zur Sicherheit am Anfang der Liste eine Zeile mit einem Suchvektor-Wert, der kleiner ist als das kleinste mögliche Suchkriterium.
Wenn ein Suchkriterium zwischen 2 Zeilen des Suchvektors liegt, dann wird der nächst-kleinere Wert des Suchvektors benutzt. Auf diese Weise werden z.B. Steuertabellen benutzt.
Wenn ein Suchkriterium größer ist als die letzte Zeile des Suchvektors, dann wird der letzte Wert des Suchvektors benutzt.
Mit dieser Funktion können beliebige Daten übersetzt werden:
Zahl -> Text (hier verwendet),
Text -> Zahl,
Text -> Text oder
Zahl -> Zahl
Achten sie jedoch darauf, dass der Suchvektor immer aufsteigend sortiert ist ! - Der Lookup-Vorgang wird abgebrochen, sobald im Suchvektor ein Element > Suchkriterium gefunden wurde !

Bildschirmtasten (Buttons, Schaltflächen)

Klicken sie auf das Symbol "Schaltfläche" und ziehen sie mit der Maus eine Bildschirmtaste auf. Dieses "shape" lässt sich mit Rechtsklick formatieren, der Button-Text lässt sich ändern. Mit Rechtsklick können sie jeder Taste (und auch jedem anderen shape !) ein VBA-Sub zuweisen (Makro zuweisen).
Details zur Erstellung von VBA-Subs.
Visual Basic (→ VBA) bietet die Möglichkeit, alle Eigenschaften eines Buttons zu ändern. So kann man zum Beispiel einen einzigen Button für Start und Stop eines Vorgangs (z.B. Animation) verwenden.
 
Dieses VBA-Sub ändert einige Eigenschaften von Button "Button 1":
Der Text wird auf "Text" geändert .
Die Schriftfarbe wird auf Index=3 der verwendeten Palette geändert, der Schnitt auf "Fett", usw. usw.
Das verknüpfte VBA-Sub wird auf "test1" geändert - so kann je nach Bedarf ein anderes Sub mit dem Button verknüpft werden.
Sub tst1()
ActiveSheet.Shapes("Button 1").Select
Selection.Characters.Text = "Test"
Selection.Font.ColorIndex = 3
Selection.Font.FontStyle = "Fett"
Selection.OnAction = "test1"
End Sub

Zugriff auf Bedienungs-Elemente mit Visual Basic (VBA)

Zellverknüpfung:

Grundlage aller hier vorgestellten Beispiele ist die Umkehrung der manuellen Auswahl: Wenn (z.B. mit VBA) ein Wert in eine Zellverknüpfung geschrieben wird, dann reagiert das entsprechende Bedienungs-Element darauf, d.h. die "programmierte" Auswahl. wird angezeigt.

Namen:

Namen (z.B. "regler1") sind im Gegensatz zu Adressen (z.B. "A1") unempfindlich gegen Einfügen, Löschen oder Verschieben von Zellen.
Vergeben sie daher Namen für die Zellverknüpfungen von Bedienungs-Elementen: Zelle auswählen, Menü Einfügen | Namen | Definieren

Einstellung lesen:

So können sie die aktuelle Auswahl eines Bedienungs-Elements aus der verknüpften Zelle (hier: regler1) lesen.
↑ Schieberegler liefern den eingestellten Zahlenwert.
↑ Auswahlknöpfe, ↑ Listenfelder und ↑ Kombinationsfelder liefern den Index des ausgewählten Elements (1,2...), nicht jedoch dessen Wert !
↑ Kontrollkästchen liefern logische Werte.
Zellen mit Einschränkung auf eine ↑ Eingabeliste liefern direkt den eingestellten Wert.
Sub lese_test()
r1 = Range("regler1").Value
MsgBox ("r1=" & r1)
End Sub

Einstellung schreiben:

So können sie die Auswahl von Bedienungs-Elementen ändern. Geben sie als Daten Werte an, welche zum Typ des jeweiligen Elements passen.
Sub schreib_test()
Range("regler1").Value = 5
Range("liste1").Value = 2
Range("check1").Value = True
Range("eingabe1").Value = "rot"
End Sub

Initialisierung:

Sie können mit VBA Startwerte definieren, die beim Öffnen des Dokuments automatisch eingesetzt werden:
Beachten sie: Der "Event-Handler" Sub Workbook-Open muss im VBA-Code der Arbeitsmappe stehen !
Alle anderen hier vorgestellten Subs sollten in einem VBA-Modul stehen. Sie können auch manuell ausgelöst werden, z.B. mit einem Button.
Details zur Initialisierung und zum Event-Handler Workbook_Open.
'Im Code der Arbeitsmappe:
Private Sub Workbook_Open()
Call sr_start
End Sub
' In einem VBA-Modul:
Sub sr_start()
Range("zv").Value = 50
End Sub
Schieberegler:
Details zur VBA-Steuerung von Schiebereglern.

Initialisierung, Zufallswerte, Animation, ...