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

automatische Nummernvergabe

Forumthread: automatische Nummernvergabe

automatische Nummernvergabe
Bernd
Guten Morgen,
ich habe folgendes Problem:
Wir führen eine Vertragsdatenbank ein, bei der alle unsere Verträge abgelegt werden sollen. Jeder Vertrag soll nun eine neue - eigene und einmalige - Vertragsnummer erhalten, die folgendermaßen ausschaut: Jahr-Abteilung-Vertragsnummer (z.B. 2010-EDV-0010).
Da nun alle Verträge aus unterschiedlichen Jahren erfasst werden (es läuft nicht chronologisch ab; die Verträge sind alphabetisch abgelegt, wie so allgemein üblich!), soll Excel aber trotzdem erkennen, ob für das Jahr schon eine Nummer vergeben wurde und auf die nächste Nummer (also z.B. 2010-EDV-0011) vergeben.
Ist dies relativ einfach zu realisieren?!
Vielen Dank für Eure Unterstützung
Gruß Bernd
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: automatische Nummernvergabe
13.08.2010 09:06:00
urmila
Hallo Bernd,
Hier ist der Code für die Nummernvergab. Musst noch eben den Pfad anpassen wo die Verträge abgelegt sind damit er die fortlaufende Nummer nehmen kann. Außerdem sucht er Lücken und füllt zunächst diese aus.
Dim N As Integer, a
a = Year(Date)
Application.DisplayAlerts = False
N = 1
While Dir("C:\test\" & a & "-EDV-" & Right("000" & N, 4) & ".xls")  ""
N = N + 1
Wend
und um zu speichern fügst du noch dies hinzu
ActiveWorkbook.SaveAs Filename:= _
"C:\test\" & a & "-EDV-" & Right("000" & N, 4) & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Hilft dir das?
LG
Urmila
Anzeige
AW: automatische Nummernvergabe
13.08.2010 09:35:32
Bernd
Hallo Urmila,
herzlichen Dank!
Die Abteilung EDV steht nur als Platzhalter, da verschiedene Abteilungen dieses Tool nutzen; wie könnte da eine "flexible" Lösung aussehen?!
AW: automatische Nummernvergabe
13.08.2010 11:07:04
Klaus
Hallo Bernd,

Dim sPlatzhalter as string
sPlatzhalter = "NameDerAbteilung" 'evt aus einer Zelle holen oder so
While Dir("C:\test\" & a & "-" & sPlatzhalter & "-" & Right("000" & N, 4) & ".xls")  "" _
[...]
so?
Grüße,
Klaus M.vdT.
Anzeige
AW: du könntest aber auch...
13.08.2010 13:56:50
urmila
...mit einer InputBox machen...
Dim N As Integer, a, i As String
i = InputBox("Bitte Namen eingeben")
a = Year(Date)
Application.DisplayAlerts = False
N = 1
While Dir("C:\test\" & a & "-" & i & "-" & Right("000" & N, 4) & ".xls")  ""
N = N + 1
Wend
ActiveWorkbook.SaveAs Filename:= _
"C:\test\" & a & "-" & i & "-" & Right("000" & N, 4) & ".xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.DisplayAlerts = True
Hier wird zunächst nach dem Platzhalten gefragt und anschließend gespeichert. Vergiss nicht die Pfad zu ändern....
Sorry, musste kurz weg daher die verspätete Meldung
LG
Urmila
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige