Hirdetés

Új hozzászólás Aktív témák

  • bteebi

    veterán

    Sziasztok!

    Randomizálással kellene munkabeosztást készítenem. Egy héten két napra (keddre es csütörtökre) kellene 2-2 embert beosztani úgy, hogy legalább az év végéig mindenki ugyanannyiszor dolgozzon. Meg persze soha senki se legyen önmagával beosztva :).

    Írtam már hozzá egy egyszerűbb makrót:

    Sub randomize()
    Dim col As Integer, lastcol As Integer, rowind As Integer, firstindex As Integer, lastindex As Long

    lastindex = Sheets("Beosztás").Cells(Sheets("Beosztás").Rows.Count, 1).End(xlUp).row
    firstindex = Sheets("Beosztás").Cells(lastindex, 1).End(xlUp).row
    lastcol = Sheets("Beosztás").UsedRange.Columns.Count

    For col = 2 To lastcol
    For rowind = 4 To 7
    Cells(rowind, col) = Cells(Int((lastindex - firstindex + 1) * Rnd + firstindex), 1)
    Next rowind
    Next col

    End Sub

    Ez egyelőre sajnos csak a munka egyszerű részét csinálja meg, vagyis teljesen véletlenszerűen osztja be az embereket. Így viszont persze nagyon nem egyenletes az elosztás, lásd a képen:

    Próbáltam rákeresni más fórumokban is, hogy mit lehetne ezzel kezdeni, de egyelőre nem találtam rá megoldást. Tudnátok valahogy segíteni az elindulásban? Valami olyan elképzelésem van, hogy egy tömbbe kellene gyűjteni a már felhasznált neveket, aztán ha már minden név benne van a tárolóban, akkor újraírni azt. Az viszont egy nagyon jó kérdés, hogy ezt hogy lehetne megcsinálni...

Új hozzászólás Aktív témák