Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
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

Nur ungerade Zufallszahlen generieren

Nur ungerade Zufallszahlen generieren
13.04.2015 08:09:52
erichm
Hallo,
ich habe im Forum bereits viel über die Generierung von Zufallszahlen per VBA gefunden.
Jedoch suche ich nach einer Lösung, bei der zwischen 0 und 1000 nur die ungeraden Zahlen in 50 Spalten aufgeführt werden (und dann für ca. 100 Zeilen).
Ich könnte natürlich die Spaltenanzahl verdoppeln oder verdreifachen und dann jeweils 50 ungerade Zahlen im zweiten oder dritten Schritt ermitteln. Aber da besteht die Gefahr von Wiederholungen und ist etwas umständlich.
FRAGE: Kann man auch ausschließlich nur ungerade Zahlen per VBA (oder auch per Formel) erstellen?
Danke.
mfg

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur ungerade Zufallszahlen generieren
13.04.2015 08:29:13
Daniel
Hi
Für ungerade Zufallszahlen von 1 - 999 mit der Formel
=ZufallsBereich(0;499)*2+1
Gruß Daniel

AW: Nur ungerade Zufallszahlen generieren
14.04.2015 07:30:30
erichm
DANKE für die Lösung!

AW: Nur ungerade Zufallszahlen generieren
13.04.2015 08:30:49
Nepumuk
Hallo,
so?
Public Sub Zufall()
    
    Dim lngIndex1 As Long, lngIndex2 As Long
    Dim lngColumn As Long, lngRow As Long
    Dim lngTemp As Long, alngOutput(99, 0) As Long
    Dim alngArray(499) As Long, ialngIndex As Long
    
    Randomize
    
    Application.ScreenUpdating = False
    
    For ialngIndex = 0 To 499
        alngArray(ialngIndex) = ialngIndex
    Next
    
    For lngColumn = 1 To 50
        
        For lngIndex1 = 499 To 0 Step -1
            lngIndex2 = Int((lngIndex1 * Rnd) + 1)
            lngTemp = alngArray(lngIndex2)
            alngArray(lngIndex2) = alngArray(lngIndex1)
            alngArray(lngIndex1) = lngTemp
        Next
        
        For lngRow = 0 To 99
            
            alngOutput(lngRow, 0) = alngArray(lngRow)
            
        Next
        
        Range(Cells(1, lngColumn), Cells(100, lngColumn)).Value = alngOutput
        
    Next
    
    Application.ScreenUpdating = True
    
End Sub

Gruß
Nepumuk

Anzeige
Noch ein Fehler drin
13.04.2015 08:37:29
Nepumuk
Hallo,
so:
Public Sub Zufall()
    
    Dim lngIndex1 As Long, lngIndex2 As Long
    Dim lngColumn As Long, lngRow As Long
    Dim lngTemp As Long, alngOutput(99, 0) As Long
    Dim alngArray(499) As Long, ialngIndex As Long
    
    Randomize
    
    Application.ScreenUpdating = False
    
    For lngIndex1 = 1 To 999 Step 2
        alngArray(ialngIndex) = lngIndex1
        ialngIndex = ialngIndex + 1
    Next
    
    For lngColumn = 1 To 50
        
        Randomize
        
        For lngIndex1 = 499 To 0 Step -1
            lngIndex2 = Int((lngIndex1 * Rnd))
            lngTemp = alngArray(lngIndex2)
            alngArray(lngIndex2) = alngArray(lngIndex1)
            alngArray(lngIndex1) = lngTemp
        Next
        
        For lngRow = 0 To 99
            
            alngOutput(lngRow, 0) = alngArray(lngRow)
            
        Next
        
        Range(Cells(1, lngColumn), Cells(100, lngColumn)).Value = alngOutput
        
    Next
    
    Application.ScreenUpdating = True
    
End Sub

Gruß
Nepumuk

Anzeige
AW: Noch ein Fehler drin
14.04.2015 07:30:06
erichm
DANKE - klappt perfekt!!

AW: Nur ungerade Zufallszahlen generieren
13.04.2015 08:31:02
EtoPHG
Hallo Erich M.
=UNGERADE(ZUFALLSBEREICH(1;999))
Gruess Hansueli

AW: Nur ungerade Zufallszahlen generieren
13.04.2015 08:39:37
EtoPHG
Hallo nochmal:
Zitat: Aber da besteht die Gefahr von Wiederholungen und ist etwas umständlich.
1. Die 'Gefahr' besteht bei Zufallszahlen immer, ausser sie werden explicit verhindert.
2. bei 50*100 = 5000 Zufallszahlen ist das keine Gefahr mehr, sondern zwingend gegeben, das im Schnitt jede ungerade Zufallszahl zwischen 1...999 10 x vorkommt!
Guress Hansueli

AW: Nur ungerade Zufallszahlen generieren
14.04.2015 07:26:10
erichm
DANKE für die Alternative!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige