| 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. |
|
Zellverknüpfung:Die Eigenschaften aller Formular-Elemente werden so eingestellt: Rechtsklick auf das Element, Menü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ü, Kästchen 'Gesperrt' aufheben. Aktivierung des Schutzes: Menü. |
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.
|
|
|||
|
Wertebereich:
Als Unter- und Obergrenze sind (derzeit in Excel) ganze Zahlen 0..30000
möglich, als Schrittweite ganze Zahlen >=1Standardwerte 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ü. Vergessen sie nicht auf eine erklärende Fehlermeldung ! |
Freigabe:
Markieren sie die Zellverknüpfung und heben sie den
↑ Zellschutz
auf: Menü.
|
|||
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:
|
|||
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. |
|
||||
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. |
|
|||
|
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:
|
|||
|
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.
|
|||
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
End Sub
Selection.Characters.Text = "Test" Selection.Font.ColorIndex = 3 Selection.Font.FontStyle = "Fett" Selection.OnAction = "test1" |
|||
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ü |
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
End Sub
MsgBox ("r1=" & r1) |
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
End Sub
Range("liste1").Value = 2 Range("check1").Value = True Range("eingabe1").Value = "rot" |
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, ... |
|