# Erzeugen von Random - Daten in Excel



## NumeroUno (7. September 2007)

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


----------



## larryson (13. September 2007)

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!)


----------



## NumeroUno (13. September 2007)

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


----------



## larryson (13. September 2007)

Ich seh mal was ich tun kann, ich melde mich spätestens morgen


----------



## computerfee (13. September 2007)

Hallo,

folgender Code sollte dir helfen.


```
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


----------



## computerfee (19. September 2007)

Hallo NumeroUno,

konntest du denn nun etwas mit meinem Code-Beispiel anfangen?


Gruß
ComputerFee


----------

