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

Zufallszahl generieren

Forumthread: Zufallszahl generieren

Zufallszahl generieren
04.02.2004 09:36:04
Marco
Hallo zusammen,
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
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahl generieren
04.02.2004 09:57:13
Roland Hochhäuser
Hallo Marco,
schau dir mal die Funktion Rnd an. Bastel dir damit ein Makro, das du im Workbook_Open aufrufst, dann müsstest du den gewünschten Effekt haben.
Gruß
Roland
AW: rnd + randomize -- F1
04.02.2004 09:58:06
Galenzo
Hallo Marco,
zur Generierung von Zufallszahlen stellt Excel dir die Funktion rnd zur Verfügung.
Schau's dir mal in der Hilfe an - da gibt's auch ein schönes beispiel dazu.
mfg
Anzeige
AW: Zufallszahl generieren
06.02.2004 20:40:19
Manfred
Hi Marco
Vieleicht hilft dir dieser Bericht weiter:
Die Standardtabellenfunktion, über die Sie eine Zufallszahl erzeugen können, lautet ZUFALLSZAHL(). Diese Funktion liefert Ihnen einen Wert zwischen 0 und 1 mit bis zu 8 Nachkommastellen. Da Sie mit so einem Wert noch nicht so viel anfangen können, können Sie mit dieser Tabellenfunktion auch rechnen. Geben Sie beispielsweise die folgende Formel in eine beliebige Zelle ein:
=ZUFALLSZAHL()*100
Damit wird eine Zufallszahl im Bereich von 1 und 100 erzeugt. Dabei werden noch Nachkomastellen angezeigt, die Sie aber ausblenden können, wenn Sie die gerade erfasste Formel noch ein wenig erweitern:
=GANZZAHL(ZUFALLSZAHL()*100
Alle auf diesem Weg erzeugten Zufallszahlen werden bei jeder Neuberechnung (z.B. durch normale Dateneingabe in eine beliebige Zelle) in der Tabelle neu gebildet. Sie können übrigens die Neuberechnung der Tabelle und somit auch der "Zufallszellen" jederzeit mit F9 durchführen.
Soll die Zufallszahl nur einmalig erzeugt und danach als Festwert in der Zelle geschrieben werden, erfassen Sie die Tabellenfunktion und drücken direkt danach F9. Bestätigen Sie diesen Vorgang dann mit Return. Möchten Sie die Tabellenfunktion nachträglich in einen Festwert umwandeln, dann setzen Sie den Mauszeiger auf die Zelle, drücken die F2, dann F9 und zum Schluss Return.
Als weitere Möglichkeit steht Ihnen im Analyse-Add-In von Excel noch die Tabellenfunktion ZUFALLSBEREICH zur Verfügung, über die Sie den Wertebereich der Zufallszahl genau festlegen können. Aktivieren Sie vor dem ersten Aufruf im Dialogfeld Extras-Add-Ins-Manager das Add-In "Analyse-Funktionen". Die Tabellenfunktion ZUFALLSBEREICH benötigt zwei Argumente, mit denen Sie den Wertebereich festlegen, in dem Excel die Zufallszahlen bilden soll.
Wenn Sie beispielsweise zufällige Datumsangaben innerhalb des Wertebereichs 1.1.2002 und 31.12.2002 erzeugen möchten, dann können Sie genau diese Funktion einsetzen. Da Excel Datumsangaben intern in Zahlenwerte umrechnet (1.1.1900 = 1 und 1.1.2002 =37257) können Sie die Tabellenfunktion wie folgt anwenden:
=ZUFALLSBEREICH(37257;37621)
Formatieren Sie die Ergebniszelle als Datum und schon haben Sie zufällige Datumsangaben, die im Wertebereich zwischen dem 1.1.2002 und dem 31.12.2002 liegen.
Eine weitere Möglichkeit, Zufallszahlen in Excel zu erzeugen, bietet ein VBA-Makro. Im folgenden Makro werden Zufallszahlen im Bereich A1:D10 gebildet. Dabei sollen die Zufallszahlen im Wertebereich zwischen 1 und 100 liegen. Die ermittelten Werte werden direkt als Festwerte in die Zellen geschrieben:

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

Mithilfe der Funktion Rnd erzeugen Sie einen zufälligen Wert, der größer als 0, aber auch noch kleiner als 1 ist. Der erste Wert in der Klammer (100) steht für den obersten Wert im Zufallsbereich, der hintere Zahlenwert (1) für den untersten Wert des Zufallsbereichs, aus dem Excel die Zufallszahl bilden soll. Die Funktion Int sorgt dafür, dass ein ganzzahliger Wert als Ergebnis ausgegeben wird.
Um beispielsweise Werte zwischen 1 und 49 zu erzeugen müssten Sie das Makro wie folgt abändern:
zelle.Value = Int((49 * Rnd) + 1)
mfg
Manfred
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zufallszahl in Excel generieren


Schritt-für-Schritt-Anleitung

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.


Häufige Fehler und Lösungen

  • Problem: Die Zufallszahl ändert sich ständig.

    • Lösung: Wenn du eine Zufallszahl einmalig generieren und als Festwert speichern möchtest, drücke nach der Berechnung F9 und bestätige mit Return.
  • Problem: Die Funktion ZUFALLSBEREICH funktioniert nicht.

    • Lösung: Stelle sicher, dass du die richtige Syntax verwendest und dass du die Argumente korrekt angegeben hast.

Alternative Methoden

  • 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

Praktische Beispiele

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

Tipps für Profis

  • 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).


FAQ: Häufige Fragen

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.

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