Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: stg-alt am Dezember 12, 2017, 16:48:01 Nachmittag
-
Geschätzte Helfer,
aus Excel-Inside den folgenden Code entnommen.
Public Sub zufallszahl()
Dim zahl(10000) As Integer
Dim zahlneu As Integer
anzahl = InputBox("Wieviele Zufallszahlen sollen ermittelt werden?")
'Zufallszahl 1 bis 28 ermitteln
For i = 1 To anzahl
zahl(i) = Int((anzahl * Rnd) + 1)
zahlneu = zahl(i)
'Auf doppelte Zahlen prüfen und neue Zahl berechnen
For n = 1 To i - 1
If zahl(n) = zahlneu Then
zahl(i) = Int((anzahl * Rnd) + 1)
i = i - 1
End If
Next n
'Zahlen in Spalte B schreiben
Sheets(1).Cells(i, 2).Value = zahl(i)
Next i
End Sub
Nun möchte ich erreichen das die Zahlen z.B. erst ab zelle3 oder 41 oder noch besser variabel eingetragen werden. Ich gebe es auf, denn ich habe es nicht hinbekommen. Ist jemand so nett und hilft mir? Den Code finde ich toll.
-
Public Sub zufallszahl()
Dim zahl(10000) As Integer
Dim zahlneu As Integer
anzahl = InputBox("Wieviele Zufallszahlen sollen ermittelt werden?")
Eintrag = InputBox("Eintrag ab inkl. Zeile Nr.?")
'Zufallszahl 1 bis 28 ermitteln
For i = 1 To anzahl
zahl(i) = Int((anzahl * Rnd) + 1)
zahlneu = zahl(i)
'Auf doppelte Zahlen prüfen und neue Zahl berechnen
For n = 1 To i - 1
If zahl(n) = zahlneu Then
zahl(i) = Int((anzahl * Rnd) + 1)
i = i - 1
End If
Next n
'Zahlen in Spalte B schreiben
Sheets(1).Cells(i - 1 + Eintrag, 2).Value = zahl(i)
Next i
End Sub
-
Hallo Lupo1,
es klappt, hab vielen Dank. Wenn ich es sehe ist es ganz klar. Ich habe an den Schleifen rumgefrimelt.
Ein frohes Weihnachtsfest wünsche ich noch.