@ alle Excel-Experten!
Ich habe für das Tischtennis-Jugendtraining eine Rangliste mit Excel gebaut. Jetzt würde ich gerne Bilder , die ich von den Kindern gemacht habe, visuell als „Ranglisten“-Pyramide darstellen. Kann man es so programmieren, dass Excel die Bilder aufgrund der Basis einer bestehenden Rangliste sortieren?!?
Dank & Gruß
Daniel
Ich habe für das Tischtennis-Jugendtraining eine Rangliste mit
Excel gebaut. Jetzt würde ich gerne Bilder , die ich von
den Kindern gemacht habe, visuell als „Ranglisten“-Pyramide
darstellen. Kann man es so programmieren, dass Excel die
Bilder aufgrund der Basis einer bestehenden Rangliste
sortieren?!?
Moin Daniel,
wie soll denn die Pyramide aussehen? Du hast ja ggfs. mehrere
Leute auf den gleichen Plätzen, also geht das folgende so nicht:
1
2 3
4 5 6
7 8 ...
soll es denn so aussehen:
Platz Bild(er)
1 Max Hans Lisa
2 Anton
3 Fritz Daniel
ich hatte dir für deine letzte Anfrage (Rangliste) am 6.11 ein Makro gebastelt. Jetzt weiss ich nicht, hattest du es gelesen/ausprobiert, funktionierte es in deinem Sinne oder nicht…?
Foren leben auch von Rückmeldungen
Gruß
Reinhard
genauso wars gemeint, aber wie ?!?
Moin Reinhard,
habe ich dir wirklich nicht zurückgeschrieben? Ich meine schon. Dann an dieser Stelle nochmal danke für die Antwort! Ich habe das Problem von damals gelöst bekommen ;-
Ich kann mir den Thread nicht mehr angucken, da ich nicht weiß, wie ich ältere Artikel anwählen kann … Ich sehe nur die letzten 20-30 Postings?
1
2 3
4 5 6
7 8 …
soll es denn so aussehen:
Platz Bild(er)
1 Max Hans Lisa
2 Anton
3 Fritz Daniel
Genau so hatte ich mir das vorgestellt. Es sollen die Daten aus der Rangliste verwendet werden und daraus eine Bilder-Pyramide, wie Du aufgezeichnet hast, erstellt werden. Das Problem der Reihenfolge könnte ich umgehen, wenn ich nicht die Plätze der Kinder benutze, sondern die Reihenfolge der Namen aus der Rangliste. Es kann zwar zu leichten Ungerechtigkeiten führen, wenn gleiche Plätze vergeben sind, aber dafür wäre die visuelle Darstellung eine feine Sache 
Viele Grüße,
Daniel
habe ich dir wirklich nicht zurückgeschrieben? Ich meine
schon. Dann an dieser Stelle nochmal danke für die Antwort!
Ich habe das Problem von damals gelöst bekommen ;-
Ich kann mir den Thread nicht mehr angucken, da ich nicht
weiß, wie ich ältere Artikel anwählen kann … Ich sehe nur
die letzten 20-30 Postings?
Moin Daniel,
du kannst links auf „Meine Artikel“ klicken, dann findest du deine
Artikel und die Antworten dazu. Oder nach BetreffWorten (Rangliste
nach wert sortieren o.ä.) im Archiv suchen.
Wo/wie siehst du nur die letzten 20-30 Postings?
Genau so hatte ich mir das vorgestellt. Es sollen die Daten
aus der Rangliste verwendet werden und daraus eine
Bilder-Pyramide, wie Du aufgezeichnet hast, erstellt werden.
Ich habe dir ein Makro gebastelt. Nimm erst mal eine leere Tabelle
zum Üben. In Tabelle3 im Bereich A1-C7 trägst du folgendes ein:
max 3 d:\eigene dateien\eigene bilder\che.gif
lisa 3 d:\eigene dateien\eigene bilder\che.gif
hans 4 d:\eigene dateien\eigene bilder\che.gif
petra 1 d:\eigene dateien\eigene bilder\che.gif
klaus 2 d:\eigene dateien\eigene bilder\che.gif
thomas 1 d:\eigene dateien\eigene bilder\che.gif
sybille 3 d:\eigene dateien\eigene bilder\che.gif
und änderst in C die Pfade zu den Bildern.
Dann wechselst du auf Tabelle1 und rufst das folgende Makro auf. Das anschliessende Loeschmakro dient nur zum Löschen
beim Austesten.
Gruß
Reinhard
Sub Makro1()
Bildhöhe = 100
Bildbreite = 100
VA = 10 'vertikale Anzahl zellen zwischen den Bildern
HA = 2 ' horizontale Anzahl Zellen zwischen den Bildern
Dim HP() ' Position der Bilder in einer Reihe
anz = Worksheets("Tabelle3").Range("a35536").End(xlUp).Row 'Anzahl Einträge in Rangliste
ReDim HP(anz)
For n = 1 To anz
HP(n) = 3 '3=Spalte C
For m = 1 To n - 1
If Worksheets("Tabelle3").Cells(m, 2) = Worksheets("Tabelle3").Cells(n, 2) Then
HP(n) = HP(n) + HA
End If
Next m
Next n
For n = 1 To anz
ActiveSheet.Pictures.Insert(Worksheets("Tabelle3").Cells(n, 3)).Select
Selection.Top = Worksheets("Tabelle1").Cells((Worksheets("Tabelle3").Cells(n, 2) - 1) \* VA + 1, 3).Top
Selection.Left = Worksheets("Tabelle1").Cells(1, HP(n)).Left
Selection.Height = Bildhöhe
Selection.Width = Bildbreite
Cells((Worksheets("Tabelle3").Cells(n, 2) - 1) \* VA + 9, HP(n)) = Worksheets("Tabelle3").Cells(n, 1)
Next n
Range("a1").Select
End Sub
Sub Loesche()
Dim bild As Shape
For Each bild In ThisWorkbook.Worksheets("Tabelle1").Shapes()
bild.Delete
Next bild
ThisWorkbook.Worksheets("Tabelle1").UsedRange.ClearContents
End Sub
DANKE! Die erste Ranglisten-Variante schon online
du kannst links auf „Meine Artikel“ klicken, dann findest du
deine
Artikel und die Antworten dazu. Oder nach BetreffWorten
(Rangliste
nach wert sortieren o.ä.) im Archiv suchen.
Moin Reinhard,
die Funktion „Meine Artikel“ kannte ich gar nicht. Ist ja super praktisch 
Wo/wie siehst du nur die letzten 20-30 Postings?
Wenn ich ins Forum gehe, dann werden rechts obene die aktuellen Postings gezeigt. Das meinte ich mit 20-30 …
Ich habe dir ein Makro gebastelt. Nimm erst mal eine leere
Tabelle
zum Üben.
Suppi, VIELEN DANK! Ich habs vorhin ausprobiert und es klappt einwandfrei. Allerdings muss ich jetzt gucken, dass ich es irgendwie an meine Rangliste anpaasen kann. Da ich absoluter VB-Anfänger bin, wird das nicht so einfach. Danke übrigens auch für die paar auskommentierten Zeilen.
Die erste Online-Variante der Rangliste ist zwar noch nicht auf unserer Seite, habe ich aber zu Testzwecken schon mal auf eine andere Page hochgeladen:
http://www.clan-da.de/rangliste/Ergebnisse.htm
http://www.clan-da.de/rangliste/Top15.htm
Für die Bilder-Pyramide wollte ich wahrscheinlich die „Spiele“-Statistik als Grundlage verwenden oder meinst Du, ich sollte lieber einen Mix aus allen Vieren nehmen?
Gruß Daniel