Avatar billede mrkr Juniormester
20. februar 2014 - 18:48 Der er 2 kommentarer og
1 løsning

Stævneprogram - finde ud af hvilke tidspunkter et hold skal spille SPG 2

Jeg har mit regneark med nogle foldbold hold som skal spille nogle forskellige kampe.
Nederst i arket har jeg fået hjælp herinde til en kode, som lister op hvornår de enkelte hold skal spille.

http://www.eksperten.dk/spm/991806

Koden virker perfekt så længe hvert hold skal spille 3 kampe.
Det kan dog variere hvor mange kampe der skal spilles. Det kan være 2,3 eller 4 kampe.
Man kan evt. selv prøve at slette et par hold eller indsætte et ekstra hold ind øverst i de grå felter.

Er der nogen der kan hjælpe mig med at tune koden så den er "lige glad" med hvor mange kampe der skal spilles af hvert hold.

Man kan se arket med koden her:
https://www.dropbox.com/s/pyl2w7f1t0fnbw0/TurneringsplanTEST.xlsm

Den nuværende kode er :

Public Sub tidsPlan()
    Application.ScreenUpdating = False
   
    traverserGruppe 34, 37
    traverserGruppe 40, 43
    traverserGruppe 46, 49
    traverserGruppe 52, 55
End Sub
Private Sub traverserGruppe(fraRæk, tilRæk)
Dim klub As String
    traverserKolonne fraRæk, tilRæk, "B"
    traverserKolonne fraRæk, tilRæk, "D"
    traverserKolonne fraRæk, tilRæk, "F"
End Sub
Private Sub traverserKolonne(fraRæk, tilRæk, Kolonne)
Dim klub As String, modstander As String, tabel As Variant, k As Integer
    klub = Range(Kolonne & fraRæk)
    modstander = findModstander(klub)
    tabel = Split(modstander, "|")
   
    For k = 1 To 3
        Range(Kolonne & fraRæk + k).Offset(0, -1) = Format(Left(tabel(k - 1), 5), "##:#0")
        Range(Kolonne & fraRæk + k) = Mid(tabel(k - 1), 6)
    Next k
End Sub
Private Function findModstander(klub)
Dim ræk As Integer, tidModstander As String, tid As String, modstander As String
    tidModstander = ""
    For ræk = 9 To 26
        If Range("B" & ræk) = klub Then
            tid = Range("A" & ræk)
            modstander = Range("D" & ræk)
            tidModstander = tidModstander & tid & modstander & "|"
        Else
            If Range("D" & ræk) = klub Then
                tid = Range("A" & ræk)
                modstander = Range("B" & ræk)
                tidModstander = tidModstander & tid & modstander & "|"
            End If
        End If
    Next ræk
    findModstander = tidModstander
End Function
Avatar billede supertekst Ekspert
20. februar 2014 - 23:32 #1
Rem version 2
Public Sub tidsPlan()
    Application.ScreenUpdating = False
   
    traverserGruppe 34, 38  '<--
    traverserGruppe 40, 44  '<--
    traverserGruppe 46, 50  '<--
    traverserGruppe 52, 56  '<--
End Sub
Private Sub traverserGruppe(fraRæk, tilRæk)
Dim klub As String
    traverserKolonne fraRæk, tilRæk, "B"
    traverserKolonne fraRæk, tilRæk, "D"
    traverserKolonne fraRæk, tilRæk, "F"
End Sub
Private Sub traverserKolonne(fraRæk, tilRæk, Kolonne)
Dim klub As String, modstander As String, tabel As Variant, k As Integer
    klub = Range(Kolonne & fraRæk)
    modstander = findModstander(klub)
    tabel = Split(modstander, "|")
   
    For k = 1 To UBound(tabel)  '<--
        Range(Kolonne & fraRæk + k).Offset(0, -1) = Format(Left(tabel(k - 1), 5), "##:#0")
        Range(Kolonne & fraRæk + k) = Mid(tabel(k - 1), 6)
    Next k
End Sub
Private Function findModstander(klub)
Dim ræk As Integer, tidModstander As String, tid As String, modstander As String
    tidModstander = ""
    For ræk = 9 To 26
        If Range("B" & ræk) = klub Then
            tid = Range("A" & ræk)
            modstander = Range("D" & ræk)
            tidModstander = tidModstander & tid & modstander & "|"
        Else
            If Range("D" & ræk) = klub Then
                tid = Range("A" & ræk)
                modstander = Range("B" & ræk)
                tidModstander = tidModstander & tid & modstander & "|"
            End If
        End If
    Next ræk
    findModstander = tidModstander
End Function
Avatar billede mrkr Juniormester
21. februar 2014 - 10:11 #2
Yes. Den sidder lige i skabet.
Så kan der laves nogle kamprogrammerne til ungerne.
Jeg takker mange gange for hjælpen.

Har du et svar :-)
Avatar billede supertekst Ekspert
21. februar 2014 - 11:05 #3
Fint - god fornøjelse med ungerne og selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester