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
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
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.
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.