Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Auftragsnummer

Auftragsnummer
Sammy217
Hallo Forum
Bitte um Hilfe. Ich habe ein Formular, das zum Anlegen eines Auftrages dient. Es klappt auch alles wunderbar. Nur in der Zelle C12 soll dieses Formular eine fortlaufende Nummer haben, in der Art wie eine Rechnungs Nummer, die dieses Formular kennzeichnet. Ein Beispiel "XXX-10-07-01".
XXX wird das Firmenkürzel "10" ist das Jahr "07" gezeichnet den Monat und "01" ist die fortlaufende Nummer in diesem Monat. Im nächste Monat müsste die Auftragsnummer dann den Monat in "08" zeigen und natürlich die Fortlaufende Nr.
Ich hatte vor einiger Zeit schon einmal Hilfe aus diesem Forum (Gott sei Dank es es soetwas gibt) im Bezug auf VBA. Bitte helft mir noch einmal.
https://www.herber.de/bbs/user/70554.xls
Gruß Sammy

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Auftragsnummer
13.07.2010 05:43:28
fcs
Hallo Sammy,
damit die nächste Nummer ermittelt werden kann muss die vorherige Nummer ja bekannt sein.
Dazu sollte die letzte vergebene Auftrags-Nr. in einer externen Datei gespeichert (Excel oder Textdatei) werden.
Nachfolgend ein Makro mit entsprchender Funktionalität. Das Verzeichnis für die Datei mit der letzten Auftragsnummer muss so gewählt werden, dass alle Bearbeiter, die Aufträge erstellen darauf zugreifen können.
Gruß
Franz
Sub Auftragsnummer()
Dim sNrAlt As String, lNummer As Long, sAuftrag As String
Dim sMonat As String, sKuerzel As String, sJahr As String
Dim Pos1 As Long, Pos2 As Long, Pos3 As Long
Dim sDateiNr As String
'Name der Text-Datei mit der letzten Auftragsnummer
sDateiNr = "C:\Users\Public\Test" & Application.PathSeparator & "AuftragsNr.txt"
If Dir(sDateiNr) = "" Then
'Wenn Datei nicht vorhanden wird neue Datei angelegt mit Startnummer 1
lNummer = 1
sKuerzel = InputBox("Bitte Firmenkürzel eingeben", _
"Auftragsnummer - erste Eingabe", "HUB")
Else
'Einlesen der letzten Auftragsnummer
Open sDateiNr For Input As #1
Line Input #1, sNrAlt
Close #1
'Position der Bindestriche
Pos1 = InStr(1, sNrAlt, "-")
Pos2 = InStr(Pos1 + 1, sNrAlt, "-")
Pos3 = InStr(Pos2 + 1, sNrAlt, "-")
'Einzelelemente der alten Nummer in Variablen schreiben
sKuerzel = Mid(sNrAlt, 1, Pos1 - 1)
sJahr = Mid(sNrAlt, Pos1 + 1, 2)
sMonat = Mid(sNrAlt, Pos2 + 1, 2)
lNummer = CLng(Mid(sNrAlt, Pos3 + 1))
'Prüfen, ob Jahr- oder Monatswechsel
If sJahr  Format(Date, "YY") Or sMonat  Format(Date, "MM") Then
'fortlaufende Nummer auf 1 setzen
lNummer = 1
Else
'fortlaufende Nummer um 1 erhöhen
lNummer = lNummer + 1
End If
End If
'Neue Auftragsnummer erstellen
sAuftrag = sKuerzel & "-" & Format(Date, "YY") & "-" _
& Format(Date, "MM") & "-" & Format(lNummer, "00")
'neue Nummer eintragen
ActiveSheet.Range("C12") = sAuftrag
'neue Nummer speichern
Open sDateiNr For Output As #1
Print #1, sAuftrag
Close #1
End Sub

Anzeige
AW: Auftragsnummer
13.07.2010 21:56:30
Sammy217
Hallo Franz
Ich habe den Makrocode eingegeben, mit rechten Mausklick auf Tabelle1 "Code eingeben". Dann auf F5 gedrückt und danach kam die Meldung "Gehe zu " Druckbereich" , nach bestädigen der OK Taste kommt die Meldung der "Bezug ist ungültig". Ich habe den Transportauftrag und eine .txt Datei "AuftragsNr.txt" gespeichert. Die neue Transportnummer wird aber nicht erzeugt.
Gruß Sammy
AW: Auftragsnummer
14.07.2010 10:56:38
fcs
Hallo Sammy,
das Makro kopierst du im VBA-Editor am besten in ein allgemeines Modul der Datei. Nicht unter dem Tabellenblatt-Modul!
Danach weist du der Schaltfläche im Tabellenblatt das Makro zu.
Du darfst natürlich nicht vergessen, die Zeile anzupassen in der das Verzeichnis der Textdatei vorgegeben wird.
   'Name der Text-Datei mit der letzten Auftragsnummer
sDateiNr = "C:\Users\Public\Test" & Application.PathSeparator & "AuftragsNr.txt"
'ggf. ändern in
"C:\Users\Public\Test" muss du ändern.
Gruß
Franz
Anzeige
AW: Auftragsnummer
14.07.2010 18:01:22
Saamy217
Hallo Franz
Habe alles so gemacht wie du es beschrieben hast. Einfügen Modul
dort dann deinen Makrocode einkopiert. Den Pfad geändert zu dem
Verzeichniss wo die "AuftragsNr.txt" und das Sheet gespeichert sind. Das Makro läuft bis: Open sDateiNr For Output As #1 dann erscheint eine Fehlermeldung Laufzeitfehler „76“ Pfad nicht gefunden. Ich habe ein screenshot des Makro angehangen.
https://www.herber.de/bbs/user/70586.xls
Gruß Sammy
AW: Auftragsnummer
14.07.2010 22:28:22
Sammy217
Hallo Franz
Dein Makro arbeitet zuverlässig. Zumindest auf meinen Rechner Zuhause. Nun weiß ich das das Makro läuft.
Ich möchte mich rechtherzlich für Deine schnelle Hilfe bedanken und mich entschuldigen für meine "dumme" Fragen
Gruß Sammy
Anzeige
AW: Auftragsnummer
15.07.2010 00:42:50
fcs
Hallo Sammy,
in der Datei mit dem Screenshot war die Zeile mit dem Verzeichnis für die Datei mit der letzten Auftragsnummer nicht geändert.
Das Verzeichnis war immer noch "C:\Users\Public\Test"
Das ist vermutlich die Ursache für den Fehler.
Wenn die Exceldateien mit denen die Aufträge erfasst werden und die Text-Datei mit der letzten Auftragsnummer im gleichen Verzeichnis gespeichert sind, dann kannst du die entsprechende Zeile im Code wie folgt ändern:
  'Name der Text-Datei mit der letzten Auftragsnummer
sDateiNr = ThisWorkbook.Path & Application.PathSeparator & "AuftragsNr.txt"

Gruß
Franz
Anzeige
AW: Auftragsnummer
15.07.2010 22:11:21
Sammy217
Hallo Franz
nochmal vielen Dank klappt wunderbar
Gruß Sammy

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige