Ich versuche, einen Teilenummerngenerator für ein großes Projekt in der Schule zu erstellen. Ich muss die Funktion verwenden können, =RANDBETWEEN(0,999999)
um einen Teil der Teilenummer zu generieren. Das Problem ist die Aktualisierung =RANDBETWEEN(0,999999)
. Wenn ich auf die Zelle verweise, erhalten alle Teilenummern die gleiche Zufallszahl. Ich brauche eine Funktion, die die alte Zufallszahl an Ort und Stelle speichert, aber die Möglichkeit zur =RANDBETWEEN(0,999999)
Aktualisierung beibehält, um eine neue Nummer für das nächste Teil zu generieren. Ich habe 2 Tage lang nach einer Möglichkeit gesucht, dies zu tun. Hoffe, jemand kann helfen. Ich habe keine Erfahrung mit VBA und möchte dies als Funktion beibehalten, damit es von allen Benutzern des Teams verwendet werden kann.
Antwort1
Keine Antwort.
Beachten Sie, dass RAND(), RANDBETWEEN() und alle ähnlichen Funktionen bei jeder NEUBERECHNUNG eines Arbeitsblattes eine neue Zahl generieren.
F9 bzw. UMSCHALT+STRG+F9 (in LibreOffice) startet eine Neuberechnung, die Ihnen das Problem sichtbar macht.
Darüber hinaus besteht keine Garantie dafür, dass die generierten Nummern eindeutig sind.
Unten finden Sie eine Funktion, die Möglicherweise ein Ausgangspunkt für ein manuell oder über die Tastatur gestartetes Makro sein könnte, um eine bestimmte Zelle auf eine sechsstellige Zufallszahl mit führenden Nullen einzustellen.
UNGETESTET (Kein Excel verfügbar, enthält wahrscheinlich mindestens ein oder zwei Fehler)
Funktion rndNum(Zelle) rndNum=Arbeitsblattfunktion.RANDBETWEEN(0,999999) wenn Zelle<>"" dann Bereich(Zelle).Wert="'" & Arbeitsblattfunktion.TEXT(rndNum,"000000") Ende, wenn Endfunktion
Antwort2
Sie können eine benannte Funktion erstellen, beispielsweise EVAL
im benannten Manager:
=LAMBDA(x,EVALUATE(x))
Jetzt können Sie dies in Ihrem Arbeitsblatt aufrufen durch:
=EVAL("RANDBETWEEN(0,999999)")
Dadurch wird eine Zufallszahl erstellt, die sich nur ändert, wenn Sie die Formel in genau dieser Zelle erneut anwenden.
Beachten Sie, dass Ihre Arbeitsmappe dadurch beim Speichern in das XLSM-Format umgewandelt wird. Andernfalls geht die benannte Funktion verloren (die Zufallszahlen bleiben an ihrem Platz).