Automatische Tabellenanpassung ( EM - Tippen )

Hallo Experten

ich schlage mich nun seit Tagen mit einer Tabelle zur Fussball EM rum, die ich für mich und meine Tipper erstellt habe.

Ich habe da 2 Probleme …
Mal zum ersten.

Ich habe pro Gruppe 4 Mannschaften mit je Punkten, Tordifferenz sowie auch geschossene und bekommene Tore.
Das berechnen des jeweiligen Platzes klappt ja, jedoch bleiben dort immer alle Mannschaften an der gleichen Stelle, also zb
a1=Portugal
a2=Griechenland
a3=Spanien
a4=Rußland
in b1-b4 sind die erzielten Punkte,c1-4 Tordifferenz,d1-4 geschossenen und f1-4 gefangenen Tore.
In g1-4 errechne ich aus den Punkten den Rang
Nun möchte ich es aber anders haben.
Ich möchte in a1-4 Platz 1 bis 4 stehen haben und dahinter aktualisiert sich immer je nach Ergebnis die Mannschaften.Punkte usw.

Hoffe mein erstes Problem ist ausreichend beschrieben :wink:

Mein 2tes ist ähnlich.
Wir sind 9 Spieler die tippen
Ich habe nun eine Tabelle mit links die Namen untereinander.
Daneben die erzielten Punkte, daneben mögliche Bonuspunkte und daneben der Rang.
Auch hier bleiben links die Namen immer fest an ihrem platz, nur der Rest ändert sich je nach Tip-Ergebnis.
Auch dieses hätte ich gerne so, dass links Platz 1 bis 9 steht und sich rechts davon alles automatisiert.

Weiss jemand Rat ?
Wäre klasse, sonst ist die EM zu Ende und ich bastel immernoch :wink:)

MfG

Stefan
Tiggertx

Hi,

so richtig helfen kann ich dir nicht, aber immerhin könnte ich dir eine fertige Lösung anbieten.
Unter http://www.terratec.de findest du ein Excel-Sheet für die EM2004, inklusive automatischer Berechnung der Punkte und Spielpaarungen, sowie Tippspiel für (ich glaube) bis zu 24 Spieler.

Vielleicht passt’s ja.

lemmy

Ich möchte in a1-4 Platz 1 bis 4 stehen haben und dahinter
aktualisiert sich immer je nach Ergebnis die
Mannschaften.Punkte usw.
Auch hier bleiben links die Namen immer fest an ihrem platz,
nur der Rest ändert sich je nach Tip-Ergebnis.
Auch dieses hätte ich gerne so, dass links Platz 1 bis 9 steht
und sich rechts davon alles automatisiert.

Hi stefan,
wenn dein blatt1 so aussieht:

 A B C D E F G H I J K L M N 
10 Portugal Griechenland platz team g v u t+ t- td pkt
11 Spanien Russland 1
12 Griechenland Spanien 2
13 Russland Portugal 3
14 Russland Griechenland 4
15 Spanien Portugal

sieht es nach Eingabe von Ergebnissen automatisch so aus:

 A B C D E F G H I J K L M N 
10 Portugal Griechenland 5 5 platz team g v u t+ t- td pkt
11 Spanien Russland 5 3 1 Spanien 2 0 0 9 5 4 6
12 Griechenland Spanien 2 4 2 Griechenland 1 1 1 11 10 1 1
13 Russland Portugal 1 0 3 Portugal 0 1 1 5 6 -1 -2
14 Russland Griechenland 1 4 4 Russland 1 2 0 5 9 -4 -3
15 Spanien Portugal

wenn du die nachfolgenden Makros benutzt.
Die Makros gehen davon aus, dass ein Blatt „Tabelle1“ und ein „Tabelle2“ existiert. „Tabelle2“ wird nur zum Sortieren benutzt.
Bei Benutzung anderer Namen musst du in den Codes alle Vorkommen von „Tabelle1“ gegen „andererName“ austauschen, dsgleichen für „Tabelle2“
In „Tabelle1“ klickst du mit rechts unten auf den tabellennamen, dann auf Code anzeigen. Du bist jetzt im Modulfenster von „Tabelle1“. Dorthinein kopierst du den Code von Private Sub Worksheet_Change(ByVal Target As Range) und änderst wie nachstehend beschrieben den Code ab.
Danach oben auf „Einfügen—Modul“, jetzt bist du im Modul von Modul1,
dorthinein kopierst du den Code von sub Berechnung(…). Auch das Option Base 1 mitkopieren.

Die makros gehen davon aus dass Gruppe1 in den Zeilen 10-15 stehen, Gruppe2 in den Zeilen 20-25 usw. Wenn du andere Zeilen willst musst du im ersten Makro die Anfangszeile dementsprechend ändern.
In dem ersten Makro musst du sowieso noch die Namen der anderen Gruppen entsprechend zu Gruppe 1 eintragen.
Gruß
Reinhard

Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Column 4 Then Exit Sub 'nur reagieren wenn zweites ergebnis eingetragen
Select Case Target.Row
Case 10 To 15 ' gruppe1
 Berechnung 10, "Portugal", "Spanien", "Griechenland", "Russland"
Case 20 To 25 ' gruppe2
 Berechnung 20, "Portugal", "Spanien", "Griechenland", "Russland"
Case 30 To 35 ' gruppe3
 Berechnung 30, "Portugal", "Spanien", "Griechenland", "Russland"
Case 40 To 45 ' gruppe4
 Berechnung 40, "Portugal", "Spanien", "Griechenland", "Russland"
Case 50 To 55 ' gruppe5
 Berechnung 50, "Portugal", "Spanien", "Griechenland", "Russland"
Case 60 To 65 ' gruppe6
 Berechnung 60, "Portugal", "Spanien", "Griechenland", "Russland"
End Select
End Sub





Option Base 1
Sub Berechnung(zei As Long, m1 As String, m2 As String, m3 As String, m4 As String)
Application.ScreenUpdating = False
Dim wert(4, 8)
 wert(1, 1) = m1
 wert(2, 1) = m2
 wert(3, 1) = m3
 wert(4, 1) = m4
With Worksheets("Tabelle1")
 For n = 1 To 4
 For m = zei To zei + 5
 If .Cells(m, 1) = wert(n, 1) And .Cells(m, 4) "" Then 'heim
 wert(n, 2) = wert(n, 2) + ((.Cells(m, 3) - .Cells(m, 4)) \> 0) \* -1 'g
 wert(n, 3) = wert(n, 3) + ((.Cells(m, 3) - .Cells(m, 4)) "" Then 'gast
 wert(n, 2) = wert(n, 2) + ((.Cells(m, 3) - .Cells(m, 4)) 0) \* -1
 wert(n, 4) = wert(n, 4) + ((.Cells(m, 3) - .Cells(m, 4)) = 0) \* -1
 wert(n, 5) = wert(n, 5) + .Cells(m, 4) '+T
 wert(n, 6) = wert(n, 6) + .Cells(m, 3) '-T
 End If
 Next m
 wert(n, 7) = wert(n, 5) - wert(n, 6) 'TD
 wert(n, 8) = 3 \* wert(n, 2) - 3 \* wert(n, 3) + wert(n, 4) 'pkt
 Next n
 With Worksheets("Tabelle2")
 .Range(.Cells(zei + 1, 1), .Cells(zei + 4, 8)) = wert()
 .Range(.Cells(zei + 1, 1), .Cells(zei + 4, 8)).Sort \_
 Key1:=.Cells(zei + 1, 8), Order1:=xlDescending, \_
 Key2:=.Cells(zei + 1, 7), Order2:=xlDescending, Header:=xlNo, \_
 OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
 .Range(.Cells(zei + 1, 1), .Cells(zei + 4, 8)).Copy
 End With
 .Paste Destination:=.Range(.Cells(zei + 1, 7), .Cells(zei + 4, 14))
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Mein 2tes ist ähnlich.
Wir sind 9 Spieler die tippen
Ich habe nun eine Tabelle mit links die Namen untereinander.
Daneben die erzielten Punkte, daneben mögliche Bonuspunkte und
daneben der Rang.
Auch hier bleiben links die Namen immer fest an ihrem platz,
nur der Rest ändert sich je nach Tip-Ergebnis.
Auch dieses hätte ich gerne so, dass links Platz 1 bis 9 steht
und sich rechts davon alles automatisiert.

Hi Stefan,
wenn dein Tabellenblatt „Tabelle3“ so aussieht:

 A B C D E
4 rang name punkte bonus geamtpkt
5 1 fdsh =C5+D5
6 2 izzjz =C6+D6
7 3 fllkf =C7+D7
8 4 kjkff =C8+D8
9 5 utrtht =C9+D9
10 6 fgod =C10+D10
11 7 flkf =C11+D11
12 8 flkf =C12+D12
13 9 flklf =C13+D13

dann klicke mit rechts unten auf „Tabelle3“, dann auf Code anzeigen und kopier den nachfolgenden Code dorthinein.
Gruß
Reinhard

Private Sub Worksheet\_Change(ByVal Target As Range)
If Target.Column 3 And Target.Column 4 Then Exit Sub
 Range(Cells(5, 2), Cells(13, 5)).Sort \_
 Key1:=Cells(5, 5), Order1:=xlDescending, \_
 Key2:=Cells(5, 2), Order1:=xlDescending, \_
 Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Danke für die Hilfe

Habe aber doch noch weiter geschaut und versucht und es hinbekommen.

Danke :wink:)