Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

RandomZeilen mit individ. auswählb. ZeilenAnzahl

RandomZeilen mit individ. auswählb. ZeilenAnzahl
Chris
Liebes Forum,
ich würde gerne aus einer Datei mit variierender Zeilen Anzahl eine frei wählbare Anzahl an Random Zeilen herauskopieren. Ich habe dafür schon einen sehr gut funktionieren Code im Internet gefunden, allerdings mit dem Haken, dass man die Anzahl an Random Zeilen im Code selbst auswählen muss (Const intMaxZeile = 270) und nicht über zB eine Inputbox bei jeder Anwendung selbst bestimmen kann. Fällt Euch hier eine Möglichkeit ein, den Code so umzuschreiben, dass dies funktioniert?
Lieben Dank für Eure Hilfe
Chris
Sub Random_rows()
Const intMaxZeile = 270
Dim lngAnzahlZeilen As Long
Dim lngZeile(1 To intMaxZeile) As Long
Dim intZeile As Integer
Dim intTemp As Integer
Dim blnDoppelt As Boolean
Dim rngZeilen As Range
lngAnzahlZeilen = ActiveSheet.UsedRange.Rows.Count
For intZeile = 1 To intMaxZeile
Do
blnDoppelt = False
lngZeile(intZeile) = Int(Rnd() * lngAnzahlZeilen + 1)
For intTemp = 1 To intZeile - 1
If lngZeile(intTemp) = lngZeile(intZeile) Then
blnDoppelt = True
intTemp = intZeile
End If
Next
Loop Until Not blnDoppelt
If intZeile = 1 Then
Set rngZeilen = Rows(lngZeile(intZeile))
Else
Set rngZeilen = Union(rngZeilen, Rows(lngZeile(intZeile)))
End If
Next
rngZeilen.EntireRow.Copy Sheets.Add.[A7]
Set rngZeile = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: RandomZeilen mit individ. auswählb. ZeilenAnzahl
30.04.2012 18:38:24
Rolf
Hallo Chris,
verstehe dein Problem nicht wirklich. Hast du z.B. schon folgendes versucht?
Dim intMZ As Integer
intMZ = Application.Inputbox("Bitte Anzahl Zeilen eingeben.")
Statt "intMaxZeile" in deinem Code, muss es dann natürlich "intMZ" heißen.
Die Zeile "Const intMaxZeile = 270" ist dann überflüssig.
Gruß, Rolf
AW: RandomZeilen mit individ. auswählb. ZeilenAnzahl
02.05.2012 13:26:58
Chris
Hallo Rolf,
vielen Dank für den Tipp. Ich bekomme jetzt eine Fehlermeldung bei
Dim lngZeile(1 To intMaxZeile bzw. 1 to intMZ) As Long
die mir sagt, dass ein konstanter Ausdruck erforderlich ist.
Fällt Dir hierzu eine Lösung ein?
Vielen Dank für Deine Hilfe
Chris
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige