Excel 2010: Zufallsauswahl innerhalb eines Bereiches

Dieses Thema Excel 2010: Zufallsauswahl innerhalb eines Bereiches im Forum "Microsoft Office Suite" wurde erstellt von Kakadus, 24. Okt. 2011.

Thema: Excel 2010: Zufallsauswahl innerhalb eines Bereiches Guten Tag Wer kann mir eine Excelformel aufgrund dieser Anforderungen zusammenstellen? Ich habe 20 Zeilen mit...

  1. Guten Tag

    Wer kann mir eine Excelformel aufgrund dieser Anforderungen zusammenstellen?

    Ich habe 20 Zeilen mit E-Mail-Adressen. Davon sollen 5 zufällig ausgewählt werden.


    Vielen Dank und beste Grüsse
    Ronny
     
  2. Hallo Ronny,

    folgendes Makro könnte das Gewünschte erledigen.

    Gruß Matjes :)
    Code:
    Option Explicit
    
    Const c_Z_ERSTE = 2
    Const c_Z_LETZTE = 21
    Const c_ANZAHL_AUSZUWAEHLENDER_ZEILEN = 5
    
    Sub ZeilenZufaelligAuswaehlen()
    '*** Aus den definierten Zeile (von c_Z_ERSTE bis c_Z_LETZTE)
    '*** werden per Zufallsgenerator
    '*** c_ANZAHL_AUSZUWAEHLENDER_ZEILEN Zeilen ausgewaehlt und
    '*** auf dem aktuellen Blatt selektiert
    
     Dim f() As Long, x As Long
     Dim r As Range, rGes As Range
     
     If Not ZufallszahlenBestimmen(f(), c_Z_ERSTE, c_Z_LETZTE, c_ANZAHL_AUSZUWAEHLENDER_ZEILEN) Then GoTo AUFRAEUMEN
    
    ->Zeilen auf dem aktuellen Blatt selektieren
     For x = LBound(f()) To UBound(f())
      Set r = Range(f(x) & : & f(x))
      If rGes Is Nothing Then Set rGes = r Else Set rGes = Union(rGes, r)
     Next
     rGes.Select
    
    AUFRAEUMEN:
     Set r = Nothing: Set rGes = Nothing
    End Sub
    
    Function ZufallszahlenBestimmen(f() As Long, lStart As Long, lEnde As Long, lAnz As Long) As Boolean
     
     Dim x As Long, y As Long, lZufallszahl As Long, lNothalt As Long
     Dim bNochNichtGemerkt As Boolean
     
    ->pruefen, ob Zufallszeilennummern bestimmbar sind
     If lAnz >= (lEnde - lStart + 1) Then
      MsgBox (Anzahl der auszusuchenden Zeilen >= Gesamt-Zeilenanzahl)
      ZufallszahlenBestimmen = False
      Exit Function
     End If
    
     ReDim f(1 To lAnz)
     x = 0
     lNothalt = 0
     Do
      
     ->Alle Zufallszahlen bestimmt ?
      If x = lAnz Then Exit Do
      
     ->Nothalt um ggf. Endlosschleife abzubrechen
      lNothalt = lNothalt + 1
      If lNothalt > 10000 Then
       MsgBox (Nothalt in Zufallszahlenbestimmung hat zugeschlagen.)
       ZufallszahlenBestimmen = False
       Exit Do
      End If
      
     ->naechste Zufallszeilenzahl bestimmen
     ->Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
      Randomize Timer
      lZufallszahl = Int((lEnde - lStart + 1) * Rnd + lStart)
     
     ->pruefen , ob Zufallszeilenzahl bereits gemerkt ist
      bNochNichtGemerkt = True
      For y = 1 To x
       If f(y) = lZufallszahl Then bNochNichtGemerkt = False: Exit For
      Next
      
     ->Wenn Zufallszeilenzahl noch nicht gemerkt ist, merken
      If bNochNichtGemerkt Then
       x = x + 1
       f(x) = lZufallszahl
      End If
      
     Loop
     
     ZufallszahlenBestimmen = True
    End Function
     
Die Seite wird geladen...

Excel 2010: Zufallsauswahl innerhalb eines Bereiches - Ähnliche Themen

Forum Datum
Excel 2010 - Filter, bedingte Formatierung Windows 7 Forum 27. Okt. 2014
Excel 2010 Wenn Zelle leer dann, Wenn in Zelle x dann Windows XP Forum 28. Nov. 2013
Excel 2010 - bestimmte Duplikate entfernen Windows XP Forum 27. Mai 2013
Excel 2010 - Spalten automatisch zählen Windows XP Forum 22. Apr. 2013
AxCrypt verschlüssete Excel2010 Datei nicht mehr zu öffnen Windows XP Forum 18. Feb. 2013