Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
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
Inhaltsverzeichnis

Zufallsgenerator

Zufallsgenerator
16.07.2014 15:00:53
Mogli
Hallo zusammen,
Ich habe die Aufgabe bekommen einen Zufallsgenerator zu entwerfen, der aus einer Liste von vielen Namen einen zufällig auswählt.
Dabei sind jedoch folgende zwei Probleme aufgetreten:
1. Der Zufallsgenerator wählt immer die gleichen Namen aus.
2. Die Namen stehen in der Spalte B. Dabei würde ich gerne die Zelle B13 aus der range herausnehmen, sodass dieser Name nicht ausgewählt werden kann. Mit meinem Code funktioniert es nicht, denn die Zelle B13 wird trotzdem ausgewählt.
Hier ist mein bisheriger Versuch:
Sub Auswahl()
Dim r As Range, zufallszelle As Integer, zufallsbereich As Integer
Set r = Range("B6:B89").SpecialCells(xlCellTypeConstants) 'merke dir nur befüllte Zellen ( _
hier nur Konstanten, formeln würden ignoriert)
Range("B6:B89").ClearFormats ' löscht die Formatierung (hilfreich, wenn man Zelle farbig  _
makiert)
zufallsbereich = Int(Rnd() * r.Areas.Count) + 1  'Ermittle, aus wievielen Bereichen die befü  _
_
llten Zellen bestehen und suche dir irgendeine aus (RND-Funktion)
zufallszelle = Int(Rnd() * r.Areas(zufallsbereich).Cells.Count) + 1  'Such dir aus dem  _
beliebigen Bereich irgendeine Zelle aus
Do While zufallszelle = Int(13)
zufallszelle = Int(Rnd() * r.Areas(zufallsbereich).Cells.Count) + 1  'Such dir aus dem  _
beliebigen Bereich irgendeine Zelle aus
Loop
r.Areas(zufallsbereich).Cells(zufallszelle).Activate  'Aktiviere die zufallszelle im  _
Zufallsbereich
r.Areas(zufallsbereich).Cells(zufallszelle).Interior.ColorIndex = 4
End Sub

Könnt ihr mir dabei helfen? Wie müsste das VBA richtig geschrieben aussehen?
Beste Grüße
Mogli

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

Betreff
Datum
Anwender
Anzeige
(1) liegt am fehlenden Randomize zu Beginn! orT
16.07.2014 15:13:14
Luc:-?
Gruß, Luc :-?

AW: Zufallsgenerator
16.07.2014 15:42:40
EtoPHG
Hallo Mogli,
Und enhält die Anforderung auch explicit das Verwenden von VBA?
Mit Formeln lässt sich das doch ganz einfach lösen!
Gruess Hansueli

AW: Zufallsgenerator
16.07.2014 16:28:33
Daniel
Zu 2.
Set r = range("b6:b12,b14:b89").specialcells(..

Dann ist die Zelle B13 automatisch draußen und du musst dich da nicht weiter drum kümmern.
Dass mit dem Randomize hat dir Luca ja schon erklärt, im Prinzip ist es so:
Excel erzeugt keine Zufallszahlen, sondern liest diese aus einer gespeicherten Liste von Zahlen ab.
Leider ist bei Makrostart der Startpunkt immer der selbe, mit Randomize verschiebt du diesen Startpunkt auf eine zufällige Zeile dieser Liste.
Dein Code liesse sich aber deutlich vereinfachen

dim Zeile as Long
If worksheetfunction.CountA(range("b6:b89")) 
Gib jetzt das worksheetfunction.randbetween das Randomize benötigst, müsstest du mal testen.
Bei zu wenig Werten läuft dieser Code in eine Endlosschleife, deswegen die Abfrage zu beginn.
Die Formatierungen habe ich mir gespart, die kannst du selber einfügen.
Gruß Daniel

Anzeige
Zahlen aus eine gespeicherten Liste ?
16.07.2014 16:38:10
EtoPHG
Hallo Daniel,
Zitat: Excel erzeugt keine Zufallszahlen, sondern liest diese aus einer gespeicherten Liste von Zahlen ab.
Woher hast den diesen Blödsinn. Wieviel Zahlen stellt den die Liste genau zur Verfügung?
Das Erstellen von Zufallzahlen beruht auf einem Basiswert (=Seed), der ohne die Randomize -Anweisung immmer der gleiche ist, und von diesem aus wird die nächste Zufallszahl errechnet!
Gruess Hansueli

AW: Zahlen aus eine gespeicherten Liste ?
16.07.2014 16:47:07
Daniel
Ok, wusste ich nicht.
Warum schreibst du so was nicht gleich, sondern behauptet, es gäbe Formellösungen für dass Problem ohne eine solche aufzuzeigen?
Gruß Daniel

Anzeige
Selbstbedienung- & alles Gratisladen ?
16.07.2014 19:04:19
EtoPHG
Daniel,
Soll ich gleich immer alles pfannenfertig hier reinstellen? Hilfe zur Selbsthilfe, vergessen?
Schliesslich gibt es
a) XL Hilfe für Formeln und VBA-Functions
b) http://www.excelformeln.de
Ich hab eine Frage gestellt und nicht einfach eine Behauptung aufgestellt!
Gruess Hansueli

AW: Selbstbedienung- & alles Gratisladen ?
16.07.2014 19:52:57
Daniel
Naja dein erster Satz war ne Frage.
Der zweite eine Behauptung.
Vielleicht für dich noch mal zur Erinnerung:
Hallo Mogli,
Und enhält die Anforderung auch explicit das Verwenden von VBA?
Mit Formeln lässt sich das doch ganz einfach lösen!
Gruess Hansueli
Die Verwendung der Satzzeichen "?" Und "!" Ist dir hoffentlich klar.
Also ich müsste da schon etwas tiefer in die Trickkiste greifen und Matrixformel verwenden, dass ist für mich dann schon nicht mehr "ganz einfach", dass die Jungs von Excelformeln machen erst recht nicht.
Desweitern hättest du bei Formeln ja das Problem, dass sich die ausgewählte Person permanant ändert, was ja auch nicht immer gewünscht ist.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige