wie könnte ich bei der Öffnung einer Mappe im Sheet(Jahresplan).(X13) eine Zufahlszeichenfolge oder Zufahlszahlenfolge generieren, welche ich später als eine Art Kennwort auslesen werde ?
Vielen lieben Dank
Marco
Sub ZufallszahlenErzeugen()
Dim Bereich As Range
Dim zelle As Range
Set Bereich = Range("A2:D10")
For Each zelle In Bereich
zelle.Value = Int((100 * Rnd) + 1)
Next zelle
End Sub
Um Zufallszahlen in Excel zu generieren, kannst du sowohl die integrierten Funktionen als auch VBA verwenden. Hier sind die Schritte für beide Methoden:
1. Zufallszahl mit Excel-Funktionen erzeugen:
ZUFALLSZAHL(): Diese Funktion generiert eine Zufallszahl zwischen 0 und 1. Um eine Zufallszahl zwischen 1 und 100 zu erhalten, verwende die folgende Formel:
=ZUFALLSZAHL()*100
ZUFALLSBEREICH(): Wenn du eine Zufallszahl in einem bestimmten Bereich erzeugen möchtest, kannst du diese Funktion nutzen. Zum Beispiel, um eine Zahl zwischen 1 und 10 zu generieren:
=ZUFALLSBEREICH(1;10)
2. Zufallszahlen mit VBA generieren:
Öffne den VBA-Editor (Alt + F11).
Füge ein neues Modul hinzu und kopiere den folgenden Code:
Sub ZufallszahlenErzeugen()
Dim Bereich As Range
Dim zelle As Range
Set Bereich = Range("A2:D10")
For Each zelle In Bereich
zelle.Value = Int((100 * Rnd) + 1)
Next zelle
End Sub
Schließe den VBA-Editor und führe das Makro aus, um Zufallszahlen zwischen 1 und 100 in den Bereich A2:D10 zu schreiben.
Problem: Die Zufallszahl ändert sich ständig.
Problem: Die Funktion ZUFALLSBEREICH funktioniert nicht.
Zufallszahlen aus einer Liste wählen: Du kannst auch zufällige Werte aus einer Liste generieren, indem du die Funktion INDEX
in Kombination mit ZUFALLSBEREICH
verwendest. Beispiel:
=INDEX(A1:A10;ZUFALLSBEREICH(1;10))
Zufallszahlen mit Nachkommastellen: Um Zufallszahlen mit Nachkommastellen zu erzeugen, kannst du die Funktion ZUFALLSZAHL() mit einer Multiplikation kombinieren:
=ZUFALLSZAHL()*10
Beispiel 1: Zufallszahl zwischen 1 und 6 (z.B. für einen Würfelwurf):
=ZUFALLSBEREICH(1;6)
Beispiel 2: Zufallszahlen in einem bestimmten Bereich mit Nachkommastellen:
=ZUFALLSZAHL()*50 + 50 ' ergibt einen Wert zwischen 50 und 100
Beispiel 3: VBA für Zufallszahlen zwischen 1 und 100:
Sub ZufallszahlenErzeugen()
Dim Bereich As Range
Dim zelle As Range
Set Bereich = Range("A1:A10")
For Each zelle In Bereich
zelle.Value = Int((100 * Rnd) + 1)
Next zelle
End Sub
Verwende Randomize
vor dem Rnd
Befehl in VBA, um die Zufallszahlen jedes Mal neu zu initialisieren:
Randomize
zelle.Value = Int((100 * Rnd) + 1)
Um die Neuberechnung von Zufallszahlen zu verhindern, kannst du die Berechnung auf manuell setzen (Formel -> Berechnung -> Manuell).
1. Wie kann ich sicherstellen, dass eine Zufallszahl nur einmal generiert wird? Um eine Zufallszahl einmalig zu generieren, verwende die Formel und drücke sofort danach F9, um den Wert als Festwert zu speichern.
2. Kann ich Zufallszahlen mit VBA auch in anderen Bereichen generieren?
Ja, du kannst den Bereich in der VBA-Funktion anpassen, indem du den Range-Parameter änderst. Zum Beispiel Set Bereich = Range("E1:E10")
für ein anderes Ziel.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen