VBA – Programmierung mit Excel Grundlagen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Selbstdefinierte Dialoge - UserForm<br />
Die Aktivierung des Texfeldes (Name = Wert1) erfolgt die MOUSEMOVE <strong>–</strong> Prozedur des<br />
Formulars:<br />
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift<br />
As Integer, ByVal X As Single, ByVal Y As Single)<br />
Wert1.SetFocus<br />
End Sub<br />
Nach der Eingabe des Wertes wird über die Schaltfläche MwSt (Name = Steuer) in eine Zelle<br />
der Tabelle2 eingetragen:<br />
Private Sub Steuer_Click()<br />
Worksheets("Tabelle2").Range("A3").Value = Eingabe1.Wert1.Value<br />
End Sub<br />
Die Schaltfläche Ende beendet die Anwendung und schließt die Form:<br />
Private Sub Ende_Click()<br />
End<br />
End Sub<br />
12.7.2 Beispiel 2<br />
Das Formular des folgenden Beispiels soll Einträge für Artikel und Preise in zwei Zellen<br />
eines Tabellenblattes vornehmen. Es soll eingeblendet werden, sobald das Tabellenblatt<br />
aktiviert wird. Dazu wird die Aktivierung in der WORKSHEET_ACTIVATE - Prozedur des<br />
Tabellenblattes <strong>mit</strong> SHOW aktiviert und gleichzeitig im Blatt die Zelle A2 ausgewählt, da<strong>mit</strong><br />
der erste Eintrag in dieser Zelle erfolgen kann 6 :<br />
Private Sub Worksheet_Activate()<br />
Range("A2").Activate<br />
frmArtikel.Show<br />
End Sub<br />
Abbildung 46: Einfacher <strong>VBA</strong>-Dialog (2)<br />
Artikel und Preise können im Dialogfeld aus ComboBoxen entnommen werden. Diese<br />
werden in der Initialisierungs <strong>–</strong> Prozedur der Form <strong>mit</strong> Werten belegt 7 :<br />
Private Sub UserForm_Initialize()<br />
With cmbArtikel<br />
.AddItem "Heft"<br />
.AddItem "Hefter"<br />
.AddItem "Bleistift"<br />
.AddItem "Filzschreiber"<br />
.AddItem "Ordner"<br />
.AddItem "Tinte"<br />
End With<br />
With cmbPreis<br />
.AddItem "1.25"<br />
.AddItem "2.95"<br />
.AddItem "1.15"<br />
.AddItem "1.98"<br />
.AddItem "3.75"<br />
.AddItem "2.30"<br />
End With<br />
End Sub<br />
✘ Die ComboBoxen sind so definiert, daß Werte in deren Eingabefelder auch manuell<br />
eingetragen werden können.<br />
6<br />
Soll der Eintrag in der ersten freien Zelle der Spalte A erfolgen, muß diese vorher er<strong>mit</strong>telt werden. Siehe dazu Beispiel zur<br />
Er<strong>mit</strong>tlung einer freien Zelle weiter oben im Text.<br />
7<br />
Die Werte können auch Tabellenzellen entnommen werden. Siehe dazu ROWSOURCE <strong>–</strong> Eigenschaft der COMBOBOX. In<br />
diesem Fall ist eine Initialisierung in der obigen Form nicht nötig.<br />
Seite 107