Erzeugen von Random - Daten in Excel

NumeroUno

Grünschnabel
Hallo,

ich habe eine wichtige Frage.

Und zwar habe ich ein Excel - Sheet mit 276 Zeilen. Desweitern habe ich
10 verschiedene Texte. Nun möchte ich im Random - Verfahren diese
10 Texte jeweils in die einzelnen Zellen pro Zeile einfügen. D.h., dass in
jeder Zeile pro Zelle ein anderer der 10 Texte steht. Wenn der 10. Text erreicht
ist, soll er am Besten auch wieder im Random Verfahren einfügen, also
nicht wieder bei 1 anfangen. Wobei dass auch nicht so schlimm wäre.
Ich hoffe, ihr versteht was ich meine.

Gibt es da eine Möglichkeit in Excel ? Ich wäre euch sehr sehr dankbar,
denn es ist für meine Arbeit und extrem dringend.

Vielen Dank für eure Hilfe.

NumeroUno
 
Hi, muss es unbedingt ein Zufallstext sein?

Was wäre z.B. wenn Text1 in der ersten 10 Gruppe an Platz eins, steht, in der zweiten Gruppe auf Platz 2, in der dritten auf Platz 3 (also immer 11 Zeilen tiefer?) Wäre das noch akzeptabel? (auf jeden Fall leichter Programierbar!)
 
Hallo Larryson,

endlich mal eine Antwort. Schon dafür vielen Dank. Hmm. Ich denke, wenn der Text in der ersten 10. Gruppe an Platz 1 steht und in der nächsten 10. Gruppe an Platz 2, sollte es reichen. Es sind keine Zufalstexte. Es sind 10 feste Texte, die ich auf diese Art einfügen möchte.

Ginge das, vom Programmieraufwand her ?

Viele Grüße

NumeroUno
 
Hallo,

folgender Code sollte dir helfen.

Code:
Dim Zahl As Integer
Dim text(9) As String

'Initialisierung der 10 Texte
text(0) = " 1.text"
text(1) = " 2.text"
text(2) = " 3.text"
text(3) = " 4.text"
text(4) = " 5.text"
text(5) = " 6.text"
text(6) = " 7.text"
text(7) = " 8.text"
text(8) = " 9.text"
text(9) = "10.text"

'Initialisierung des Zufallsgenerators
Randomize -Timer

'K = Anzahl Zeilen
For K = 1 To 3
    'Texte in neues Array kopieren
    ordnung = text

    'I = Anzahl der Spalten
    For I = 10 To 1 Step -1
        'Zufallszahl erzeugen zwischen 1 und I
        Zahl = Int((I * Rnd + 1))
        
        'Text aus dem Array holen und in Ausgabe schreiben
        ausgabe = ausgabe & ordnung(Zahl - 1) & vbCrLf
        
        'benutztes ArrayWert mit letzten Wert überschreiben
        ordnung(Zahl - 1) = ordnung(I - 1)
    Next I
    
    ausgabe = ausgabe & vbCrLf

Next K

MsgBox ausgabe


kurze Erläuerung:

Den Wert K auf deine gewünschte Zeilenanzahl setzen und die 10 Texte natürlich entsprechend umändern.

Anstelle des Füllens der Variablen ausgabe schreibst du den Wert aus ordnung(zahl-1) in die Excel-Tabelle.
Am besten rückwärts (also von 10. Spalte bis zur 1., I = zu schreibende Spaltennummer)

Wenn du noch Fragen dazu hast, einfach melden.


Viele Grüße
ComputerFee
 

Neue Beiträge

Zurück