title image


Smiley Spielplan mit VBA erstellen
Hallo GHK (!?)



Versuch es mal mit folgendem VBA-Lösungsansatz:





'erstellt von Jürgen Ziehm, Köln

Sub Spieltag(ByVal int_Zeile As Integer, _

ByVal int_Spalte As Integer, _

ByVal int_Spieltag As Integer, _

ByVal int_AnzahlDerSpiele As Integer, _

ByVal int_AnzahlDerMannschaften As Integer)

Dim int_Mannschaft1 As Integer

Dim int_Mannschaft2 As Integer

Dim int_LetzteMannschaft As Integer

Dim i As Integer

int_Mannschaft1 = int_Spieltag \ 2 + 2

int_Mannschaft2 = (int_Spieltag + 1) \ 2

For i = 0 To int_AnzahlDerSpiele - 2

Cells(int_Zeile + i, int_Spalte) = Str(int_Mannschaft1) & ":" & Str(int_Mannschaft2)

int_Mannschaft2 = (int_AnzahlDerMannschaften - 1) - _

(int_AnzahlDerMannschaften - int_Mannschaft2) Mod (int_AnzahlDerMannschaften - 1)

int_Mannschaft1 = int_Mannschaft1 + 1

Next i

int_LetzteMannschaft = ((int_Spieltag + 1) Mod 2) * (int_Spieltag \ 2 + 1) + _

((int_Spieltag + 2 * int_AnzahlDerSpiele) \ 2) * _

(int_Spieltag Mod 2) Mod (int_AnzahlDerMannschaften - 1) + _

int_Spieltag Mod 2

Cells(int_Zeile + int_AnzahlDerSpiele - 1, int_Spalte) = Str(int_LetzteMannschaft) & ":" & Str(int_AnzahlDerSpiele * 2)

End Sub



Sub Spielplan()

Dim int_Spieltag

Dim int_Spalte As Integer

Dim int_Zeile As Integer

Dim int_AnzahlDerSpiele As Integer

Dim int_MaxSpieltage As Integer

Dim int_AnzahlDerMannschaften As Integer

Dim i As Integer

Dim j As Integer

int_AnzahlDerMannschaften = ActiveCell.Value + (ActiveCell.Value Mod 2)

int_Spalte = ActiveCell.Column

int_Zeile = ActiveCell.Row + 2

int_AnzahlDerSpiele = int_AnzahlDerMannschaften / 2

int_MaxSpieltage = int_AnzahlDerMannschaften - 1

For int_Spieltag = 1 To int_MaxSpieltage

Spieltag int_Zeile, _

int_Spalte + 2 * (int_Spieltag - 1), _

int_Spieltag, _

int_AnzahlDerSpiele, _

int_AnzahlDerMannschaften

Next int_Spieltag

End Sub



Zum Starten trägst Du in eine Zelle die Anzahl der Mannschaften ein und bleibst mit der Markierung auf dieser Zelle. Dann rufst Du die Prozedur Spielplan auf. Dazu könnte man sich ein Shortcut oder einen CommandButton einrichten.



Wenn nur - wie in Deinem Fall 9 Mannschaften mitmachen, ist die Mannschaft Nr. 10 ein Dummy. Wer gegen die spielt, hat an dem Spieltag spielfrei.



Viel Erfolg

Manes
Ob ich Spotlight gut finde? Also wenn ich ehrlich sein soll, müsste ich lügen!

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: