Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: fortlaufende Nummer mit Archiv

fortlaufende Nummer mit Archiv
18.11.2018 19:20:17
Tim
Hallo, ich verzweifle gerade an dem erstellen einer fortlaufenden Nummer, die nach Jahreswechsel in einer neuen Zeile von vorn beginnt.
Ziel soll es sein, über einen Button, in einer Userform eine fortlaufende Nummer im Tabellenblatt "Auftrag" zu generieren, deren Syntax "AU-aktuelles Jahr-fortlaufende Nummer" ist.
Dazu möchte ich gern, dass wenn das Jahr wechselt, dass die vortlaufende Nummer im jeweilig neuen Jahr von vorn begeinnt und das in der nächsten freien Zeile. Hintergrund ist, dass man für das abgelaufene Jahr die Anzahl an aufträgen dokumentiert.
Heißt in Spalte A steht "AU" = Abkürzung für Auftrag. In Spalte B das aktuelle Jahr und in Spalte C die fortlaufende Nummer.
Das einzige was bisher problemlos geht ist die fortlaufende Nummer:
With Worksheets("Auftragsnummer")
.Range("C2") = .Range("C2") + 1
End With
Wer kann mir bei dem Rest weiterhelfen, da ich mit Google noch nicht zum Ergebnis gekommen bin!?
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 19:33:59
onur
Poste mal eine Musterdatei, damit man sehen kann, wo die restlichen Daten (z.B. die aktuelle Auftragsnummer) stehen.
AW: fortlaufende Nummer mit Archiv
18.11.2018 19:43:32
Karl-heinz
Hallo Tim,
nur mal so eine Idee:
Sub ZaehlHoch()
Dim X As Integer
X = VAl(Right$(Date, 4)) - 2016
With With Worksheets("Auftragsnummer")
.Cells(X, "C").Value = .Cells(X, "C").Value + 1
End With
End Sub
Vorrausetzung: Folgejahre sind erst mal leer. Beispiel beginnt für Ablage in Zeile 2 bei 2018.
viele Grüße
Karl-Heinz
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 20:20:42
Tim
Ihr seit ja schnell, vielen Dank dafür.
https://www.herber.de/bbs/user/125470.xlsm
Ich habe es jetzt mit dem Code von Karl-Heinz probiert, funktioniert aber es entspricht noch nicht ganz meinen Vorstellungen oder ich habe noch einen Klemmer im Kopf.
Ich würde, sobald das Jahr wechselt, die neue Jahreszahl gern als neuen Zeileneintrag zur fortlaufenden Nummer dazu schreiben. Zudem hätte ich gern, dass die komplette Nummer, die generiert wurde in der Textbox auftaucht. Ist das umsetzbar?
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 20:39:01
onur
Die Datei ist murks, ich bat dich um eine Datei, wo auch die aktuelle Auftragsnummer "AU-aktuelles Jahr-fortlaufende Nummer" steht.
AW: fortlaufende Nummer mit Archiv
18.11.2018 20:47:07
Tim
Tut mir leid, die Datei ist als Bsp. gedacht gewesen, da das Original bereits mit Inhalten gefüllt ist. Die von dir genannte Funktion gibt es im Original noch nicht, ich habe versucht mir das mit dem genannten Code zurecht zu basteln, jedoch bin ich nur bis zur Möglichkeit gekommen, die fortlaufende Nummer im Tabellenblatt zu generieren, jedoch ohne Jahr und ohne Archivfunktion.
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 21:41:28
onur
Du kannst bei öffnen der Datei überprüfen lassen, ob sich das akt. Jahr geändert hat.
Wenn ja, wird die Nummer zurückgesetzt.
Siehe hier:
https://www.herber.de/bbs/user/125472.xlsm
AW: fortlaufende Nummer mit Archiv
19.11.2018 08:15:02
Tim
Guten Morgen onur,
vielen Dank das sieht gut aus. Den Zähler für die Auftragsnummer müsste man damit manuell am 31.12. archivieren!?
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 22:10:20
Oisse
Hallo Tim,
versuch das mal. Ich hoffe, ich habe keinen logischen Fehler drin.
Sub Fortl_Nummer()
Dim wkb As Workbook
Dim ws As Worksheet
Dim lz As Long
Dim Jahr As String
Dim Tag As String
Set wkb = ThisWorkbook
Set ws = wkb.Worksheets("Auftrag")
lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
Jahr = Year(Date)
Tag = Format(Date, "dd.mm")
With ws
If Format(Date, "dd,mm") >= "17.11" Then
If .Range("B" & lz)  Jahr Then
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = 1
Else
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = .Range("C" & lz) + 1
End If
End If
End With
End Sub

Gruß Oisse
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 22:11:10
Oisse
Hallo Tim,
versuch das mal. Ich hoffe, ich habe keinen logischen Fehler drin.
Sub Fortl_Nummer()
Dim wkb As Workbook
Dim ws As Worksheet
Dim lz As Long
Dim Jahr As String
Dim Tag As String
Set wkb = ThisWorkbook
Set ws = wkb.Worksheets("Auftrag")
lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
Jahr = Year(Date)
Tag = Format(Date, "dd.mm")
With ws
If Format(Date, "dd,mm") >= "17.11" Then
If .Range("B" & lz)  Jahr Then
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = 1
Else
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = .Range("C" & lz) + 1
End If
End If
End With
End Sub

Gruß Oisse
Anzeige
AW: fortlaufende Nummer mit Archiv
18.11.2018 22:14:03
Oisse
Hallo Tim,
versuch das mal. Ich hoffe, ich habe keinen logischen Fehler drin.
Sub Fortl_Nummer()
Dim wkb As Workbook
Dim ws As Worksheet
Dim lz As Long
Dim Jahr As String
Dim Tag As String
Set wkb = ThisWorkbook
Set ws = wkb.Worksheets("Auftrag")
lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
Jahr = Year(Date)
Tag = Format(Date, "dd.mm")
With ws
If Format(Date, "dd,mm") >= "17.11" Then
If .Range("B" & lz)  Jahr Then
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = 1
Else
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = .Range("C" & lz) + 1
End If
End If
End With
End Sub

Gruß Oisse
Anzeige
AW: fortlaufende Nummer mit Archiv
19.11.2018 08:18:39
Tim
Guten Morgen Oisse,
dein Code gefällt mir sehr gut, jedoch schreibt er die fortlaufende Nummer jeweils in eine neue Zeile, anstatt unterjährig nur den Zähler zu erhöhen und erst bei Jahreswechsel eine neue Zeile zu beschreiben und den Zähler wieder von vorn beginnen zu lassen. Ich habe selbst versucht das anzupassen, jedoch klappt das nicht, dazu reichen meine Kenntnisse nicht ganz aus.
Anzeige
AW: fortlaufende Nummer mit Archiv
19.11.2018 09:22:46
Oisse
Hallo Tim,
das hatte ich wohl falsch verstanden. Ich hoffe, er passt jetzt so. Das Datum musst du natürlich dann noch ändern auf 01.01.
Sub Fortl_Nummer()
Dim wkb As Workbook
Dim ws As Worksheet
Dim lz As Long
Dim Jahr As String
Dim Tag As String
Set wkb = ThisWorkbook
Set ws = wkb.Worksheets("Auftrag")
lz = ws.Cells(Rows.Count, 1).End(xlUp).Row
Jahr = Year(Date)
Tag = Format(Date, "dd.mm")
With ws
If Format(Date, "dd,mm") >= "18.11" Then
If .Range("B" & lz)  Jahr Then
.Range("A" & lz + 1) = "AU"
.Range("B" & lz + 1) = Jahr
.Range("C" & lz + 1) = 1
Else
.Range("C" & lz) = .Range("C" & lz) + 1
End If
End If
End With
End Sub

Zum Testen einfach mal das Jahr in der letzten Zeile deines Arbeitsblattes (Spalte B) auf 2017 ändern.
Gruß Oisse
Anzeige
AW: fortlaufende Nummer mit Archiv
19.11.2018 09:47:41
Tim
Perfekt, vielen Dank!
AW: fortlaufende Nummer mit Archiv
19.11.2018 10:00:28
Oisse
Gern geschehen.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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