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

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

Jeg er ved at lave en oversigt over et fodboldstævne.
I en række har jeg 3 puljer med 4 hold.
Det giver 12 hold som hver især kommer til at spille 3 kampe.
Det har jeg fået fint fordelt uden problemer.

Nu kunne jeg så godt bruge en formel kan hjælpe mig med at lave en liste over der viser hvornår hvert hold skal spille deres 1,2, og 3 kamp.

Regnearket ser således ud:
Kol A = tidspunkt
Kol B = navn på hold1
Kol C = tom
Kol D = navn på hold2

Kampene står i området A9 :A30
Navnet på det hold den skal lede efter står i A8.
Den skal lede i både kold B og D efternavnet, da holdet kan stå som både hold 1 og hold 2.

Ved ikke helt om det er for kringlet forklaret, men jeg sender selvfølgelig gerne regnearket, så I lettere kan se hvad jeg mener
Avatar billede bjarnehansen Seniormester
20. februar 2014 - 07:43 #1
det ville jo nok være lidt lettere hvis du uploade arket
Avatar billede mrkr Juniormester
20. februar 2014 - 09:53 #2
Ja, selvfølgelig. :-)
Fokuserede bare kun på at jeg kunne sende arket pr. email.
Så her kommer et link med filen.

Det er de gule felter jeg gerne vil have udfyldt automatisk.

https://www.dropbox.com/s/nbj4dq0r09goitd/TurneringsplanTEST.xlsx
Avatar billede supertekst Ekspert
20. februar 2014 - 15:43 #3
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 mrkr Juniormester
20. februar 2014 - 16:41 #4
yes sir. Den virker dælme den kode :-)
Nu har jeg dog et håb om at du også vil hjælpe med at forfine den lidt.

I dette tilfælde som er vist i arket er der 3 kampe til alle.
Nogle gange er der nogle der spiller 2,3 eller 4 kampe.
Det afhænger af puljernes størrelse.

Jeg har prøvet at rette i koden og se om jeg kunne få den til at tage højde for det. Meeeeeen det kan jeg overhovedet ikke finde ud af. Den går i fejl med det samme.

Kan du hjælpe med det.
Avatar billede supertekst Ekspert
20. februar 2014 - 17:48 #5
Synes du skal afslutte dette spørgsmål  og så oprette et nyt - så er der nok nogen der vil hjælpe
Avatar billede mrkr Juniormester
20. februar 2014 - 18:32 #6
Jeps, det vil jeg gøre. Blev bare lige grebet af stemningen :-)
Mange tak for hjælpen. Koden gør præcis som det jeg efterspurgte i mit spørgsmål.
Avatar billede bjarnehansen Seniormester
20. februar 2014 - 18:41 #7
nu tror jeg at jeg har lavet rigtig ged i den da jeg forsøgt at sætte funktion ind hvor skal de ligges tror jeg har fået rodet rundt i dem
Avatar billede mrkr Juniormester
20. februar 2014 - 18:53 #8
Hej Bjarne.
Hvis der er gået ged i din fil, er der mulighed for at hente min fil igen.
Jeg har desuden lavet et spørgsmål 2, som fortsætter her:
http://www.eksperten.dk/spm/991831
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