Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zufällige Auswahl vorher ausgewählter Anzahl von Datensätzen





Frage

Hallo, ich habe mehrere ExcelTabellen mit ca. 100 - 20000 Datensätzen, ich hätte gerne eine Formel oder ein Makro welches mir eine vorher von mir (von Fall zu Fall unterschiedliche) ausgewählte Anzahl von Datensätzen ausspuckt. Kann mir jemand helfen?? VIELEN DANK LISA

Antwort 1 von rainberg

Hallo Lisa,

so wie die Frage gestellt ist, geht das weder mit Formel noch mit Makro.
Wer soll wissen, was Du unter "ausgewählte Anzahl von Datensätzen" verstehst.

Gruss
Rainer

Antwort 2 von Lisa_linux

hallo,

also ich stelle mir das so vor:

soll quasi wie ein Zufallsgenerator funktionieren, aber ich kann vorher irgendwo eingeben, wieviele Datensätze er mir auswählt.

Antwort 3 von Lisa_linux

ahja und unter Datensätze verstehe ich:

einfach eine Excel Liste welche mit Daten gefüllt ist in diesem Fall sind es Raumlisten.

und ich will für eine zufällige Kontrolle dieser Räume verschiedene herausselektieren.

Antwort 4 von gast444

hi :-)

soll die auswahl ueber alle tabellen gehen oder nur manche ?
soll der gesammte genutzte bereich einer tabelle erfasst werden oder nur teilbereiche
was ist ein datensatz.eine zelle ? eine zeile ?

praezisiere deine frage

gruss gast123

Antwort 5 von lisa_linux

Hi,

also die Tabelle sieht so aus:

Spalte A: Raumnummer
Spalte B: Raumbezeichnung
Spalte C: Indexnummer

usw...

es gibt manchmal nur 100 Räume und manchmal 2000 ich will per Zufallsprinzip z.B. 5 davon auswählen. wobei ich aber gerne vorher die Anzahl der Räume die ich auswählen will eingeben würde.

Antwort 6 von gast123

hi :-)

ein beispiel

gruss gast123


Option Explicit
Sub Zufall()
Randomize Timer
Dim LetzteA As Long
Dim AnzZiehung As String
LetzteA = ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
ReDim zuzahl(LetzteA) As Long
ReDim zahl(LetzteA) As Long
Dim endeindex As Long
Dim allezahlen As Long
Dim ziehung As Integer
Dim gezogen As Integer
endeindex = LetzteA
For allezahlen = 1 To LetzteA
zuzahl(allezahlen) = allezahlen
Next allezahlen
AnzZiehung = InputBox("test")
If AnzZiehung = "" Then End
If AnzZiehung > LetzteA Then AnzZiehung = LetzteA
If AnzZiehung < 1 Then AnzZiehung = 1
For ziehung = 1 To AnzZiehung
gezogen = Int(Rnd * endeindex) + 1
zahl(ziehung) = zuzahl(gezogen)
zuzahl(gezogen) = zuzahl(endeindex)
endeindex = endeindex - 1
ReDim Preserve zuzahl(endeindex)
ThisWorkbook.Worksheets(1).Range(Cells(zahl(ziehung), 1), Cells(zahl(ziehung), 3)).Copy Destination:=ThisWorkbook.Worksheets(2).Cells(ziehung, 1)
Next ziehung
End Sub


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: