![]() |
||
![]() |
Fortlaufende Rechnungsnummer mit Excel û die zweiteIn Ausgabe 2/98 hat WIN auf Seite 181 einen Vorschlag fⁿr fortlaufende Rechnungsnummern in Excel von J÷rg Schulmeister vorgestellt. Dabei dient eine Excel-Tabelle als externer Speicher fⁿr die laufende Nummer. Peter Brath schlΣgt nun statt dessen den Einsatz einer BinΣrdatei vor. Mit der von ihm entwickelten L÷sung lΣ▀t sich der Zeitaufwand beim ╓ffnen von Arbeitsmappen erheblich reduzieren. Au▀erdem ist der Einsatz einer BinΣrdatei professioneller. Allerdings mu▀ der Anwender bei der Programmierung mit entsprechend komplexen Befehlen umgehen k÷nnen. Starten Sie in Excel mit dem Befehl Einfⁿgen û Makro û Visual Basic Modul den Visual-Basic-Editor. Legen Sie dann mit Einfⁿgen û Modul ein neues Modul an. Geben Sie die im Kasten äFortlaufende Rechnungsnummerô auf der nΣchsten Seite stehenden Anweisungen ein. Dabei ersetzen Sie die kursiv gedruckten Angaben bitte entsprechend Ihren Bedⁿrfnissen. Die IF-Anweisung prⁿft, ob die Tabelle schon eine Rechnungsnummer enthΣlt. Wenn ja, bricht das Programm ab. Andernfalls fⁿhrt es die Anweisungen aus. Deshalb mⁿssen Sie die Zelle, in der die Rechnungsnummer stehen soll, mit einer 0 initialisieren. Die erste Zeile des Anweisungsblocks deklariert die ben÷tigten Variablen: Eine fⁿr die Rechnungsnummer und eine fⁿr die Dateinummer. Diese Nummer dient innerhalb des Makros zur Identifikation einer BinΣrdatei. So ist es m÷glich, gleichzeitig mehrere Dateien zu bearbeiten. Die Funktion Free-File() bestimmt die nΣchste verfⁿgbare Dateinummer. Der Parameter 1 sorgt fⁿr die Rⁿckgabe einer Kennung zwischen 256 und 511. Allgemein gilt, da▀ anwendungspezifische Dateien mit FreeFile(0) und Dateien, auf die auch andere Anwendungen Zugriff haben, mit FreeFile(1) ihren Identifikator initialisieren. Dann folgen û wie in der L÷sung aus Heft 2/98 û die bekannten Operationen fⁿr das ╓ffnen der Datei, das Auslesen der letzten und das Berechnen und Schreiben der aktuellen Nummer. Um mehr Geschwindigkeit zu erzielen, k÷nnen Sie auf das mehrmalige ╓ffnen und Schlie▀en der BinΣrdatei wΣhrend einer Sitzung in Excel verzichten. Verwenden Sie dafⁿr in der ersten Open-Anweisung anstelle von Read den Parameter Read Write. Das erm÷glicht Ihnen, lesend und schreibend auf die Datei zuzugreifen. Das Listing zum Tip finden sie als TXT-File auf der aktuellen WIN-Monats-CD. Listing: Fortlaufende Rechnungsnummer Private Sub Workbook_Open ()Sub╢ If ThisWorkbook.Sheets (ô Tabelle1ô).Range (ô B2ô).Value = 0 Then╢ Dim RN As Long, DatNr╢ DatNr = FreeFile (1)╢ Open ô C :\ Daten \ Rechnum . binô For Binary Access Read As #DatNr╢ Get #DatNr, , RN╢ Close #DatNr╢ RN = RN + 1╢ Open ô C :\ Daten \ Rechnum . binô For Binary Access Write As #DatNr╢ Put #DatNr, , RN╢ Close #DatNr╢ Range (ô B2ô).Select╢ ActiveCell.Value = RN╢ End If╢ End Sub╢ |
![]() |