Hallo zusammen,
Ich habe die Aufgabe bekommen einen Zufallsgenerator zu entwerfen, der aus einer Liste von vielen Namen einen zufällig auswählt.
Dabei ich ejdoch folgende zwei Probleme:
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.
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
Christian
|