Jetzt möchte ich unter dieser Tabelle eine Rangliste
erstellen, wobei man das Rennen (X) ändern kann und das Makro
dieses dann ausrechnet:
Punkte nach Rennen X ('in diesem Fall 3)
Name1: 80
Name2: 50
Name3: 70
Hi Bery,
benutze beim Zeigen von Tabellen den Pre-Tag, wird unterhalb des Eingabefensters erläutert.
Nach dem 3ten Rennen komme ich auf andere Werte. Alt+F11,Einfügen–Modul, Code reinkopieren, Editor schließen.
Countif (Zählenwenn),Sum(Summe),Match(Vergleich) werden in der normalen Excel-Hilfe erläutert. In Vba haben sie gleichen parameter wie in Excel, aber die Prameter werden in Vba-Schreibweise geschrieben.
Alle anderen Vba-Anweisungen werden in der Vba-Hilfe (F1 im VB-Editor) erläutert
Tabellenblatt: [Mappe2]!Tabelle1
│ A │ B │ C │ D │ E │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
1 │ Name │ Rennen 1 │ Rennen 2 │ Rennen 3 │ Rennen 4 │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
2 │ Name1 │ 20 │ 15 │ 15 │ 30 │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
3 │ Name2 │ 10 │ 5 │ 25 │ 10 │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
4 │ Name3 │ 5 │ 5 │ 30 │ 30 │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
5 │ │ │ │ │ │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
6 │ Name1 │ 50 │ │ │ │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
7 │ Name2 │ 40 │ │ │ │
──┼───────┼──────────┼──────────┼──────────┼──────────┤
8 │ Name3 │ 40 │ │ │ │
──┴───────┴──────────┴──────────┴──────────┴──────────┘
Benutzte Formeln:
B6: =Pkt(A6;3)
B7: =Pkt(A7;3)
B8: =Pkt(A8;3)
A1:E8
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Option Explicit
'
Function Pkt(Zelle As Range, RennenAnz As Integer)
Dim Zei As Long
Pkt = "Namen nicht gefunden"
If Application.CountIf(Range("A2:A5"), Zelle.Value) \> 0 Then
Zei = Application.Match(Zelle.Value, Range("A1:A5"), 0)
Pkt = Application.Sum(Range(Cells(Zei, 2), Cells(Zei, RennenAnz + 1)))
End If
End Function