Ich weiss nicht mehr weiter



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Ich weiss nicht mehr weiter
von: Joachim S
Geschrieben am: 21.06.2002 - 20:29:59

habe folgendes Problem!
Habe ein Turnierprogramm erstellt was mir Gruppen auslost und dabei beachtet das Spieler eines Vereines gleichmäßig verteilt wérden und bei einer Setzung von Spielern diese auch richtig auf die Gruppen verteilt werden. Diesen Bereich überprüfe ich mit Formeln und das Ergebnis wird mir wahr oder falsch in eine Zelle ausgegeben.
Die Losung erfolgt mit einem Makro
Nun das Problem bei großen Teilnehmerzahlen bzw Gruppen dauert es ewig lange obwohl eine Lösung möglich
Mir ist aufgefallen, das die Zufallszahl die ich im Makro ermittle am Anfang immer die gleichen sind
Nun bitte ich jemand ob er diesen Code überprüfen oder verbessern kann besonders die Zufallszahl
Ich sitze nun schon 2 Wochen davor und jetzt weiss ich nicht mehr weiter.
Schicke auch gerne jemand die mappe aber es sind verdammt viel Formeln drin darum nun erstmal der Code

Public anz_gruppen, anz_grmgl, anz


Sub teams()
Worksheets("Auslosung").Unprotect "blabla"
    Range("e1:e240").Clear
    Call wertekopieren                  'Werden Werte in Spalte D kopiert
    Call entfernen                      'Der Bereich der Gruppen wird gelöscht
start:
    Application.ScreenUpdating = False
    ende = Range("d" & Rows.Count).End(xlUp).Row + 1    'Spalte D wird gezählt
    anz_gruppen = Sheets("Auslosung").Range("f4")       'Eingabe der Gruppenanzahl
   
    If anz_gruppen = "" Then Exit Sub
    Call entfernen                                       'Bereich der Gruppen wird gelöscht

    
    Range("d1:d" & ende).Copy Range("E1")               'Spalte d bis ende wird in e kopiert
   
    anz_grmgl = Int((ende - 1) / anz_gruppen) + 2          'anzahl möglich Gruppen
    Range("g4").Select
    For i = 1 To anz_gruppen                               'Beginn Schleife Gruppen erstellen
        ActiveCell = "Gruppe " & i
        ActiveCell.Offset(0, 2).Range("A1").Select
    Next i
    For j = 2 To anz_grmgl
        For k = 1 To anz_gruppen
            Columns(5).Sort key1:=Range("e1"), order1:=xlAscending  'sortieren Spalte E
            ende = Range("e" & Rows.Count).End(xlUp).Row + 1        'zählen Spalte E
            zzahl = Int((ende - 1) * Rnd + 1)                       'Zufallszahl ermitteln
            Mname = Range("e" & zzahl)                              'ausgewählter Name
            Range("e" & zzahl) = ""                                 'Name löschen
            Range("e" & j).Offset(3, k * 2) = Mname      'positionieren des ausgewählten Namens
            
        Next k
    Next j
    Call Aufteilen                                         'trennen von Name und Verein
    If Cells(21, 82) = FALSCH Then GoTo start          'Wenn Zelle cd 21 gleich falsch von vorne
    Call sortieren                                      'Gruppe sortieren
    Call zahlEntfernen                                  'Setzzahl entfernen
    Application.ScreenUpdating = True
    Range("A1").Select
Worksheets("Auslosung").Protect "blabla"
End Sub


Würde mich freuen wenn mir jemand helfen kann

Gruß Josi

nach oben   nach unten

Re: Ich weiss nicht mehr weiter
von: Hans W. Hofmann
Geschrieben am: 22.06.2002 - 00:00:11

Hallo Josi,

ich hab was ähnliches schon auf www.lemitec.de | Intel-Projekte | Statistik stehen. Den Zufallsgenerator solltest Du mit Randomize initialisieren.

Gruß HW


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Ich weiss nicht mehr weiter"