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

Füllen durch Zufallsprinzip

Forumthread: Füllen durch Zufallsprinzip

Füllen durch Zufallsprinzip
Christian
Hallo,
ich möchte 100 Zellen durch Zufall mit dem Wert 1 füllen in Abhängigkeit einer Variable X die den Wert übergibt, wie oft die 1 in den 100 Zellen vorkommen soll.
Beispiel: X = 2
Zelle A1 = ""
Zelle A2 = 1
Zelle A3 = 1
Zelle A4 = ""
Hat jemand eine Excel bzw. VBA Idee?
Vielen Dank vorab
Christian
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Füllen durch Zufallsprinzip
27.10.2010 18:37:24
ransi
HAllo Christian
Teste mal selber:
Option Explicit


Public Sub test()
    Dim X As Integer
    Dim I As Integer
    Dim Z As Integer
    Dim L As Long
    Dim tmp
    Dim arr(1 To 100, 1 To 1)
    X = Application.InputBox("Sach an !", , , , , , , 1)
    For I = 1 To X
        arr(I, 1) = 1
    Next
    Randomize Timer
    For I = 1 To UBound(arr)
        Z = Int(UBound(arr) * Rnd) + 1
        tmp = arr(Z, 1)
        arr(Z, 1) = arr(I, 1)
        arr(I, 1) = tmp
    Next
    Range("A1:A100") = arr
End Sub



ransi
Anzeige
AW: Füllen durch Zufallsprinzip
27.10.2010 18:39:35
And
Hallo,
ein Beispiel, es gibt aber die klitzekleine Möglichkeit, dass mal
eine Zufallazahl doppelt ist und somit 1x die 1 mehr vorkommt.
In Zelle E3 steht die Anzahl der 1en zur Kontrolle
https://www.herber.de/bbs/user/72075.xls
Gruß Andreas
Anzeige
Klugscheissen
29.10.2010 10:29:39
Klaus
Hallo Andreas,
die Möglichkeit ist aber wirklich klitzeklein ... um nicht zu sagen null.
Da du die Zeilen über die RANG Funktion auswählen lässt, kommt auch bei 10 identischen kleinsten Zahlen die korrekte Anzahl von einsen heraus. Probiers mal aus!
Grüße,
Klaus M.vdT.
AW: Füllen durch Zufallsprinzip
27.10.2010 18:44:10
Oberschlumpf
Hi Christian
Versuch mal:
Sub sbZufall()
Dim liRow As Integer, liAnz As Integer
Randomize Timer
Range("A1:A100").Value = ""
Do Until WorksheetFunction.CountIf(Range("A1:A100"), "") = Range("B1").Value
liRow = Int((100 * Rnd) + 1)
Range("A" & liRow).Value = 1
Loop
End Sub

Der Wert x steht in B1 - oder - Range("B1").Value
Hilfts?
Ciao
Thorsten
Anzeige
AW: Füllen durch Zufallsprinzip
28.10.2010 13:59:51
Christian
Vielen Dank für die Antworten,
alle Möglichkeiten die mir aufgeboten wurden sind, funktionieren für meine Weise. Werde das ganze jetzt mal aufblasen und schauen, welches Prinzip das schnellste ist.
Danke nochmal
Gruß
Christian
;

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