Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1168to1172
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

Speichern und Drucken

Speichern und Drucken
Sammy217
Hallo Forum
Ich habe vor einiger Zeit einen VBA Code von euch bekommen, der mir eine fortlaufende Auftragsnummer erzeugt (der Code arbeitet wunderbar). Die Aufttragsnummer setzt sich aus einem Firmenkürzel, dem Jahr, dem Monat und der fortlaufenden Nummer zusammen. Beispiel "XXXX" (Frimenkürzel) "10" (Jahr) "08" (Monat) "01 (Fortlaufende Nummer). Die Auftragsnummer wird in einer .txt Datei gespeichert. Die Arbeitsmappe besteht aus 4 Tallenblätter. Die Blätter heißen "Rohdaten, Transportauftrag, Tabelle2 und Tabelle3. Nun möchte ich gerne, wenn das Makro gestartet wird, die neue Auftragsnummer erzeugen, das das Blatt Transportauftrag auf dem Standart Drucker gedruckt und nur das Blatt "Transportauftrag in den Ordner Archiv Transportaufträge abgespeichert wird. Der Ordner Archiv Transportaufträge befindet sich im gleichen Verzeichniss, wie dieses Sheet.
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 = ThisWorkbook.Path & 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

Gruß Sammy

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Speichern und Drucken
09.08.2010 15:36:53
fcs
Hallo Sammy,
hier in der hochgeladenen Text-Datei ein entsprechendes gff. noch anzupassendes Makro.
https://www.herber.de/bbs/user/70984.txt
Die Auftragsnummer wird jetzt in einer Function berechnet. So kann sie nicht mehr direkt per Makro-Aufruf geändert werden, sondern nur noch über das Makro für den Transportauftrag.
Das mit dem Standard-Drucker kriege ich nicht hin, da sind andere Experten gefordert.
Es wird auf dem aktiven Drucker gedruckt, der auf Wunsch vor der Ausgabe des Transportauftrags gewechselt werden kann.
Gruß
Franz
Anzeige
AW: Speichern und Drucken
09.08.2010 22:48:52
Sammy217
Hallo Franz
Das ist genau das was ich wollte. Auch das der aktive Drucker genommen wird. Das passt alles.
Ich möchte mich vielmals Bedanken. Es erleichtert meine Arbeit ungemein.
Danke und Gruß Sammy

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige