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

Forumthread: Einzigartige 4 stellige Nummer generieren

Einzigartige 4 stellige Nummer generieren
22.08.2018 15:24:48
Lukas
Guten Tag,
ich habe folgendes Problem, undzwar fertige ich gerade eine Inventarliste an, in der Regelmäßig neue Maschinen hinzugefügt werden müssen. Die Maschinen werden mittels eines UserForm in eine neue freie Zeile geschrieben. Spalte A soll nun, sobald per UserForm ein neues Gerät eingefügt wird, eine 4 stellige einzigartige Nummer einfügen. Zusätzlich soll sobald die Maschine eingefügt wird, eine Messagebox erscheinen, die die eingefügte Inventarnummer abbildet. Kann mir jemand helfen? Ich bin absoluter VBA Anfänger.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Einzigartige 4 stellige Nummer generieren
22.08.2018 16:40:36
UweD
Hallo
Hast du schon die userform etc?
dann lad mal eine Beispieldatei hoch.


Vorab:
&GT&GT eine 4 stellige einzigartige Nummer einfügen.
dazu ermittelst du den Maximalwert der Spalte und addierst eine 1
LG UweD
AW: Einzigartige 4 stellige Nummer generieren
22.08.2018 16:52:50
Robert
Hallo Lukas,
nachstehendes Makro generiert eine Zufallszahl, die zwischen der Untergrenze (hier 1000) und der Obergrenze (hier 9999) liegt und noch nicht in der Spalte A der aktiven Tabelle enthalten ist.
Sub Zufall()
Dim iZufall As Integer, Untergrenze As Integer, Obergrenze As Integer
Untergrenze = 1000
Obergreunze = 9999
Randomize
Do
iZufall = Int((Obergrenze - Untergenze + 1) * Rnd + Untergrenze)
Loop Until IsError(Application.Match(iZufall, Range("A:A"), 0))
End Sub

Gruß
Robert
Anzeige
AW: Einzigartige 4 stellige Nummer generieren
23.08.2018 07:06:31
Lukas
Guten Morgen,
vielen Dank für eure Antworten. Ich habe den von Robert erstellen Generator ins Programm eingefügt. Zusätzlich habe ich den Code auf einen CommandButton gelegt, der die Zahl erzeugen soll und diese in die erste freie Zelle in A einfügt. Soweit funktioniert das auch. Lediglich die Zahl die erzeigt werden soll bleibt beim Wert 1000 und ändert sich nicht. Die Datei kann ich leider erst heute Nachmittag hochladen.
Gruß Lukas
Anzeige
Zufällige Nr.bei Inventar-nix gut !
23.08.2018 09:12:35
robert
Hi,
entweder fortlaufende Nr. oder Gruppen-Nr, für zB. Maschinen, Fahrzeuge usw..
Maschinen beginnt mit 100, die zweite 101 usw
Fahrzeuge beginnt mit 200, das zweite 201 usw
das macht Sinn :-)
Gruß
robert
AW: Sorry, Tippfehler im Code
23.08.2018 10:27:50
Robert
Hallo Lukas,
in der Hektik hatte ich zwei Tippfehler:
In der Zeile
Obergreunze = 9999
muss es natürlich
Obergrenze = 9999
heißen und in der Zeile
iZufall = Int((Obergrenze - Untergenze + 1) * Rnd + Untergrenze)
muss es
iZufall = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
heißen.
Gruß
Robert
Anzeige
AW: Sorry, Tippfehler im Code
24.08.2018 06:37:46
Lukas
Noch eine weitere Frage. Ist es möglich, dass die erste Zahl in Abhängigkeit von dem in einer Combobox gewählten Wert erzeugt wird? Bsp. In dem Userformular wird in der Kombobox Wert x ausgewählt bei x soll immer eine 1 als erste Zahl erzeugt werden und bei Wert y eine 2.
Gruß Lukas
AW: Sorry, Tippfehler im Code
24.08.2018 07:27:52
Lukas
Konnte das Problem bereits selber lösen vielen Dank für eure Hilfe!
Gruß
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Einzigartige 4 stellige Nummer generieren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle ein neues Arbeitsblatt oder öffne dein bestehendes Dokument.

  2. Aktiviere die Entwicklertools: Gehe zu "Datei" > "Optionen" > "Menüband anpassen" und aktiviere das Kontrollkästchen für "Entwicklertools".

  3. Füge einen CommandButton hinzu: Wechsle zur Registerkarte "Entwicklertools", klicke auf "Einfügen" und ziehe einen "Button" auf dein Arbeitsblatt.

  4. Öffne den VBA-Editor: Rechtsklicke auf den Button und wähle "Code anzeigen".

  5. Füge den folgenden Code ein, um eine zufällige 4 stellige Zahl zu generieren, die noch nicht in der Spalte A vorhanden ist:

    Sub Zufall()
       Dim iZufall As Integer, Untergrenze As Integer, Obergrenze As Integer
       Untergrenze = 1000
       Obergrenze = 9999
       Randomize
       Do
           iZufall = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
       Loop Until IsError(Application.Match(iZufall, Range("A:A"), 0))
       Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).Value = iZufall
       MsgBox "Die eingefügte Inventarnummer ist: " & iZufall
    End Sub
  6. Teste den Code, indem du auf den Button klickst. Eine zufällige 4 stellige Zahl sollte in die nächste freie Zelle in Spalte A eingefügt werden.


Häufige Fehler und Lösungen

  • Zahl bleibt konstant: Überprüfe, ob du im Code möglicherweise eine falsche Variable oder einen Tippfehler hast. Achte darauf, dass die Variablen Untergrenze und Obergrenze korrekt definiert sind.

  • Zahlen werden nicht eingefügt: Stelle sicher, dass der Button korrekt mit dem Makro verbunden ist. Klicke mit der rechten Maustaste auf den Button und wähle "Code anzeigen", um zu überprüfen, ob der richtige Code eingebettet ist.

  • Fehlermeldung bei der Generierung: Prüfe, ob alle Werte in Spalte A korrekt formatiert sind. Es dürfen keine Textwerte in der Spalte stehen, die die Zufallszahl beeinträchtigen könnten.


Alternative Methoden

  • Verwende die Funktion RANDBETWEEN: Wenn du keine VBA-Programmierung nutzen möchtest, kannst du in einer Zelle die folgende Formel eingeben, um eine Zufallszahl zwischen 1000 und 9999 zu generieren:

    =RANDBETWEEN(1000, 9999)
  • Artikelnummer Generator Excel: Du kannst auch einen Artikelnummer Generator in Excel verwenden, der basierend auf definierten Regeln (z.B. Kategorien) eine 4 stellige Zahl generiert.


Praktische Beispiele

  • Zufallszahl für Maschinen: Wenn du Maschinen in deiner Inventarliste verwaltest, kannst du den 4 stelligen Code Generator nutzen, um jeder Maschine eine eindeutige Identifikationsnummer zuzuweisen. Der Code sorgt dafür, dass keine doppelte Nummer verwendet wird.

  • Zufällige 4 stellige Zahl für Veranstaltungen: Wenn du Veranstaltungen planst, kann dieser Code verwendet werden, um Teilnehmer-ID-Nummern zu generieren, die einfach zu verwalten sind.


Tipps für Profis

  • Nutze die Randomize-Funktion, um sicherzustellen, dass die Zufallszahlen nicht wiederholt werden, wenn das Makro mehrmals hintereinander ausgeführt wird.

  • Wenn du eine 5 stellige Zahl generieren möchtest, passe einfach die Untergrenze und Obergrenze an:

    Untergrenze = 10000
    Obergrenze = 99999
  • Überlege, ob du Zufallszahlen mit Präfixen kombinieren möchtest (z.B. "0631" für regionale Codes), um die Generierung von 4 stelligen Zahlen noch flexibler zu gestalten.


FAQ: Häufige Fragen

1. Kann ich auch eine 5 stellige Zahl generieren? Ja, ändere einfach die Untergrenze auf 10000 und die Obergrenze auf 99999 im VBA-Code.

2. Wie kann ich sicherstellen, dass keine doppelten Zahlen generiert werden? Der Code verwendet die Application.Match-Funktion, um zu überprüfen, ob die generierte Zahl bereits in der Spalte A vorhanden ist. Wenn ja, wird eine neue Zahl generiert.

3. Ist es möglich, die Zahl basierend auf einer Auswahl in einer Combobox zu generieren? Ja, du kannst den Code anpassen, um die Zahl in Abhängigkeit von der Auswahl in einer Combobox zu erstellen. Beispielsweise kannst du den Wert der Combobox abfragen und die erste Ziffer entsprechend festlegen.

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