Microsoft Office Tutorials and References
In Depth Information
19.12 VBA-Funktionen
Aufrufschaltfläche in der ersten UserForm
Das Click -Ereignis der Schaltfläche cmdEintragen fist
für die Übertragung der Daten aus den Textfeldern in
die Tabelle vorgesehen, und hier brauchen Sie einen
Trick, um die letzte Zeile der Liste zu ermitteln: Suchen
Sie ab der letzten Zelle, nach oben gerechnet ( [a65536].
End(xlup) ), mit der Eigenschaft End einfach den ersten
Eintrag. Hier das Makro, das den neuen Datensatz in die
Tabelle schreibt:
Für den Aufruf zeichnen Sie eine Schaltfläche, cmdNeu ,
in die erste UserForm ein. Das Makro für das Click -Er-
eignis startet einfach das zweite Formular:
Private Sub cmdNeu_Click()
frmNeuerSatz
End Sub
Listing 19.40 Click-Ereignismakro für die Schaltfläche »Neu« in
der ersten UserForm
Private Sub cmdEintragen_Click()
Dim lastrow, i As Integer
’ Letzte Zeile suchen
lastrow = [a65536].End(xlUp).Row + 1
’ Daten aus der UserForm übertragen
For i = 1 To 4
Cells(lastrow, i) = Me.txt_ProduktNeu.Value
Cells(lastrow, i) = Me.txt_KategorieNeu.Value
Cells(lastrow, i) = Me.txt_AbteilungNeu.Value
Cells(lastrow, i) = Me.txt_NummerNeu.Value
Next i
’ Datenfelder löschen
With Me
.txt_ProduktNeu.Value = "“
.txt_KategorieNeu.Value = "“
.txt_AbteilungNeu.Value = "“
.txt_NummerNeu.Value = "“
End With
End Sub
REFERENZ In Kapitel 20 (VBA-Praxis) und in der
Datei VBA Praxis auf der CD zum Buch
finden Sie weitere Beispiele zur UserForm-Programmie-
rung.
REFERENZ
19.12 VBA-Funktionen
Die Makrosprache VBA steht nicht nur für die
Produktion ablauffähiger Programme (Prozeduren), sondern
auch für Funktionen zur Verfügung, und diese können
wahlweise als zusätzliche Tabellenfunktionen oder zur
Unterstützung der Prozeduren verwendet werden.
Funktionen speichern
Es gibt mehrere Möglichkeiten, Funktionen zu
speichern:
» Wenn die Funktion nur für Berechnungen in der
aktiven Arbeitsmappe benötigt wird, erstellen Sie ein
Modul im Projekt der Mappe und schreiben die
Funktionen in dieses Modul (oder weitere Module, wie bei
Prozeduren spielt es für den Aufruf keine Rolle, in
welchem Modul die Funktion steht).
» Funktionen, die grundsätzlich für alle Mappen
verfügbar sein sollten, schreiben Sie in ein Modulblatt
der persönlichen Makroarbeitsmappe PERSONAL.
XLSB . Wenn diese noch nicht verfügbar fist, zeichnen
Sie einfach eine Prozedur mit dieser Mappe als Ziel
auf ( siehe Kapitel 19.4: Makros speichern und laden ).
» Die Profi-Version: Erstellen Sie Funktionen in einer
eigenen Mappe, speichern Sie diese als Add-In (
Datei/Speichern unter , Dateityp Add-In ), und binden
Sie dieses über den Add-In-Manager in Ihre
ExcelOberfläche ein.
Listing 19.38 Makro schreibt neuen Satz in die nächste freie
Zeile.
Die zweite Schaltfläche mit der Caption Fertig schließt
die zweite UserForm. Damit die Liste in der ersten
wieder aktuell fist, schließen Sie diese ebenfalls und öffnen
sie gleich wieder. Damit wird nämlich das Initialize -
Makro wieder aktiv, und das »füttert« ja die Liste mit
den Daten aus der Tabelle:
Private Sub cmdFertig_Click()
Unload Me
Unload frmInventarverwaltung
frmInventarverwaltung.Show
End Sub
Listing 19.39 Click-Ereignismakro für cmdFertig
 
Search JabSto ::




Custom Search