Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro mit Zufall

Makro mit Zufall
13.11.2003 14:47:47
Silvie
Tach!
Wer kann mir mal helfen? Folgendes Makro wirft zufällige Zahlen von 0-100 aus.


Sub zufall()
Cells(1, 1) = [TRUNC(RAND()*100)]
End Sub


Jetzt hab ich festgestellt, daß das nicht ganz so praktisch ist, er soll sich die Zahlen aus einer bestimmten Tabelle, sagen wir mal Tabelle1 in einer Reihe untereinander stehend nehmen und immer nur eine aus diesem Block wiedergeben.

Hat da jemand ne Idee? Ich hab keine Ahnung wie das geht.
Vielen Dank schomma!

Silvie

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Zufall
13.11.2003 15:01:24
Harald Kapp
Hallo Silvie,
angenommen die Liste steht in A2:A101,
dann so:

Cells(1,1) = Cells(TRUNC(RAND()*100)+2,1)

Gruß Harald
AW: Makro mit Zufall
13.11.2003 15:03:48
Silvie
Hallo Harald, Du bist der BESTE!

Bedanke mich und probier's gleich aus.

Gruß
Silvie
geht nich...
13.11.2003 15:11:36
Silvie
Mist klappt nicht!
AW: geht nich...
13.11.2003 15:25:32
Jürgen K.
...versuchs mal so:

Liste der Zufallszahlen in B1:B100,
Ausgabe der Zufallszahl in A1.


Sub zufall2()
Dim Zeile As Byte
Zeile = [TRUNC(RAND()*100)]
Range("B1").Select
Range("A1").Value = ActiveCell.Offset(Zeile, 0).Value
End Sub


Gruß, Jürgen
Anzeige
noch ne Frage an Jürgen
13.11.2003 15:35:05
Silvie
Hallo Jürgen,
vielen Dank erstmal. Muß man eigentlich immer die größte Zahl vorgeben, kann
das Makro diese Zahl nicht irgendwo in der Tabelle finden.
Ich frag nur weil die letzte bzw. größte Zahl unterschiedlich sein kann.

Gruß
Silvie
AW: noch ne Frage an Jürgen
13.11.2003 15:43:55
Jürgen K.
...habe jetzt leider keine Zeit mehr, das zu testen, aber Du kannst natürlich statt der 100 auch eine Variable einsetzen (vielleicht über InputBox per Eingabe, als Vorschlag).

Falls das bis morgen Zeit hat kann ich mich darum kümmern, sonst kann vielleicht jemand anders behilflich sein.

Gruß und Tschüss, Jürgen
Anzeige
kann bis morgen warten
13.11.2003 15:47:30
Silvie
... hat Zeit
AW: kann bis morgen warten
14.11.2003 08:43:34
Harald Kapp
Hallo Silvie,
sorry, hatte den Code nicht getestet. TRUNC und RAND funktionieren in VBA nicht.
Der folgende Code ist getestet:


Sub test()
Dim max As Integer
Const Obergrenze = 100 ' hier die maximale Anzahl der vorbelegten Zufallszahlen (A2...A101 = 100 Stück) angeben
Do
max = InputBox("Bitte Obergrenze eingeben [1..." & Obergrenze & "]")
Loop While max < 1 Or max > Obergrenze
Cells(1, 1) = Cells(Int(Rnd() * max) + 2, 1)
End Sub


Gruß Harald
AW: kann bis morgen warten
14.11.2003 10:14:13
Jürgen K.
Guten Morgen Silvie.

Wenn ich das jetzt richtig verstanden habe, stehen die Werte aus denen der Zufallswert ermittelt werden soll in einer Spalte, lückenlos untereinander. D. h. wenn der Maximalwert z. B. 500 ist, so liegen auch alle Werte zwischen 1 und 499 vor.

Dann funktionierts ohne manuelle Eingabe des Wertebereichs, in Abhängigkeit des jeweiligen Maximalwertes so (vorausgesetzt wird, das sich sonst auf dem Blatt keine Werte befinden, die größer sind als der Maximalwert der Spaltenwerte):


Sub Zufallszahl()
Dim Untergrenze As Integer
Dim Obergrenze As Integer
Dim Zufallszahl As Integer
Obergrenze = Application.Max(Cells)
Untergrenze = 1
Zufallszahl = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
Range("A1").Value = Zufallszahl
End Sub


Gruß, Jürgen
Anzeige
da kommt sofort VBA Mecker
14.11.2003 10:22:00
Silvie
Morgen Jürgen!

Habs gleich ausprobiert und er meckert bei:

Obergrenze = Application.max(Cells)
Laufzeitfehler 13

Trotzdem danke!
Silvie
AW: da kommt sofort VBA Mecker
14.11.2003 10:41:11
Jürgen K.
... also bei mir fuktionierts einwandfrei.

Selbst wenn noch jede Menge andere Formate auf dem Blatt enthalten sind (Text, Datum ...).

Wenn Du noch Hilfe brauchst, kann ich Dir das Blatt auch zuschicken.

Gruß, Jürgen
es es funktioniert doch!!!
14.11.2003 10:30:56
Silvie
Danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige