Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rechnungnummer

Forumthread: Rechnungnummer

Rechnungnummer
13.10.2007 21:54:08
Hans-Georg
Hallo wissende,
ich habe schon einiges in der Recherche gefunden, komme aber dennoch nicht weiter.
In meiner Excel Tabelle ( .XLT ) steckt ein kleines Problem.
Ich möchte gerne in einer Zelle eine fortlaufende Nummer vergeben.
Da die Datei automatisch (über ein Makro) gespeichert wird (als .XLS) müsste sich die Nummer also schon beim öffnen der Vorlage verändern.
Oder wer kann mir einen Vorschlag machen, wie ich eine vernünftige Rechnungsnummer erstelle ? ( Wie sollte die gestaltet sein; mit Kundennummer, Auftragsnummer und Datum ? )
Nun hab ich von Makros allerdings keine Ahnung und wenn, dann nur mit Hilfe.
Wer kann mir also dabei behilflich sein ?
Vielen Dank für eure Vorschläge
Hans-Georg

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnungnummer
13.10.2007 23:35:00
Beate
Hallo Hans Georg,
lege testweise folgende Datei ins Verzeichnis c:\temp\Rg:
https://www.herber.de/bbs/user/46753.xlt
Sonst dürfen erstmal keine Dateien in diesem Verzeichnis sein. Aber alle Rechnungsdateien, die du aus der Vorlagedatei speicherst, müssen in dieses Verzeichnis gespeichert werden.
Das Workbook-Open Makro ruft das Makro DateiAnzahl auf, es werden die Dateien im Verzeichnis gezählt und somit in B1 eine fortlaufende Nummer ausgegeben. In D1 wird das Tagesdatum eingetragen.
Die Zeile:
If ThisWorkbook.Path "" Then Exit Sub
sorgt dafür, das das Workbook_open-Makro abbricht, wenn die Datei schon gespeichert wurde, damit die schon bestehende Rechnungsnr. und das Rechnungsdatum nicht überschrieben werden.
Wenn du meinen Vorschlag verfolgen willst, aber einen anderen Speicherpfad wählst, dann musst du diesen im Makro Dateianzahl ändern.
Gruß,
Beate
Die Codes:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Private Sub Workbook_Open()
    If ThisWorkbook.Path <> "" Then Exit Sub
    DateiAnzahl
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Sub DateiAnzahl()
    
    Dim Verzeichnis As String
    Dim Dateimaske As String
    Dim Anzahl As Integer
    
    Verzeichnis = "C:\temp\Rg\"
    Dateimaske = "*.*"
    
    Anzahl = NumberofFilesInDirectory(Verzeichnis, Dateimaske)
    
    Sheets("Tabelle1").Range("B1").Value = Anzahl
    Sheets("Tabelle1").Range("D1").Value = Date
    
    
End Sub

Function NumberofFilesInDirectory(Directory, Maske) As Integer
    
    Dim I As Long
    With Application.FileSearch
        .NewSearch
        .LookIn = Directory
        .Filename = Maske
        NumberofFilesInDirectory = .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending)
    End With
    
End Function

Anzeige
AW: Rechnungnummer
13.10.2007 23:06:00
Josef
Hallo Hans-Georg,
kopiere diesen Code in das Modul "DieseArbeitsmappe" deiner Vorlage.
Die Rechnungsnummer wird in einer Textdatei gespeichert. Den Pfad wo diese Datei abgelegt werden soll, musst du anpassen. Ebenso musst du den Tabellennamen und die Zelle in welche die RgNr. geschrieben werden soll an deine Bedürfnisse anpassen.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
Dim strFile As String, strNum As String

strFile = "F:\Temp\rgnr.txt" 'Pfad zur Textdatei - Anpassen!

If Sheets("Rechnung").Range("H9") = "" Then
    
    If Dir(strFile) <> "" Then
        Open strFile For Input As #1
        
        Input #1, strNum
        
        Close #1
    Else
        strNum = "1"
    End If
    
    Sheets("Rechnung").Range("H9") = Format(Date, "yyyymmdd-") & Format(strNum, "00000")
    
    strNum = CStr(strNum + 1)
    
    Open strFile For Output As #1
    
    Print #1, strNum;
    
    Close #1
    
End If


End Sub

Gruß Sepp

Anzeige
AW: Rechnungnummer
14.10.2007 08:14:00
Sonja
Hallo Hans Georg,
vergib doch erst die rechnungsnummer wenn du die rechnung druckst.

Sub Drucken()
[C6] = [C6] + 1
Range("C6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub


AW: Rechnungnummer
14.10.2007 08:57:00
Sonja
Hallo Hans Georg,
hier noch ein beispiel.
https://www.herber.de/bbs/user/46754.xls
Gruß Sonja

Anzeige
AW: Rechnungnummer
14.10.2007 10:09:51
Hans-Georg
Hallo,
war ja schon spät gestern also habe ich heute viel zum ausprobieren!
Vielen Dank den Antwortern. Ich werde es nachher mal versuchen.
Nochmals vielen Dank
Hans-Georg
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige