Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
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

Referenz Nummer prüfen

Referenz Nummer prüfen
08.11.2017 13:46:31
Peter(silie)
Hallo Leute,
ich habe in einer Tabelle eine Spalte mit Ref-Nummern
diese sehen wie folgt aus: 160000000
Die ersten beiden Zahlen stellen das Jahr dar, die anderen Ziffern
sind eine Fortlaufende nummer.
Ich muss per Makro die Gültigkeit der Nummer prüfen,
da diese auch per Code in die Tabelle eingefügt wird.
Die ersten beiden Ziffern müssen eben immer das aktuelle Jahr darstellen.
Der Rest wird nur hochgezählt.
Mein Code für das Prüfen sieht so aus:
(Grausam ich weiß)
Private Function Check_Number(ByVal number_ As Long) As Long
Dim num(8) As Long, year_ As Long, i As Long
year_ = CLng(Format(Date, "yy"))
For i = 1 To Len(CStr(number_))
num(i - 1) = CLng(mid(number_, i, 1))
Next i
If CStr(num(0)) & CStr(num(1))  year_ Then
num(0) = CLng(Left(year_, 1))
num(1) = CLng(Left(year_, 2))
End If
Dim tmp As String
For i = 0 To 8
tmp = tmp & num(i)
Next i
Check_Number = CLng(tmp)
End Function
Ich finde den Code Miserable, komme aber auf keine anderen Lösung.
Habt ihr einen Vorschlag für mich?

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

Betreff
Datum
Anwender
Anzeige
AW: Referenz Nummer prüfen
08.11.2017 14:36:46
ChrisL
Hi Peter
So schlimm ist der Code nicht. Für den letzten Teil würde ich "Join" verwenden.
Wie ich verstehe willst du nicht "prüfen", sondern den Zähler um 1 erhöhen.
Hier noch zwei Varianten (beginnt die Laufnummer im neuen Jahr bei Null?):
Private Function Hochzaehlen1(lngNummer As Long) As Long
If Left(lngNummer, 2)  Format(Date, "yy") Then
Hochzaehlen1 = Format(Date, "yy") * 10000000
Else
Hochzaehlen1 = lngNummer + 1
End If
End Function

Private Function Hochzaehlen2(lngNummer As Long) As Long
Hochzaehlen2 = Format(Date, "yy") & Format(Right(lngNummer + 1, Len(lngNummer) - 2), "000000")
End Function
cu
Chris
Anzeige
AW: Referenz Nummer prüfen
09.11.2017 09:04:08
Peter(silie)
Hallo,
danke für deine Hilfe.
Nein, die Laufnummer wird nicht zurückgesetzt.
(Wo auch immer da der Sinn ist)
Es geht also wirklich nur um die ersten beiden Zahlen die eben das
momentane Jahr darstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige