30.09.2013 Aufrufe

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!