VBA Code scheint jetzt zu laufen

Hallo Reinhard,

habe die Tabbi jetzt mal mit Namen und Zahlen gefüttert und alle Varianten ausgewählt. Bisher läuft alle einwandfrei.

Zwischenzeitlich habe ich mir mal Gedanken gemacht,wie man die Platzermittlung ect. besser bzw, sinnvoller gestalten kann.

Dazu stellt sich mir nun die Frage,wieviel Spalten braucht man nun tatsächlich?

Mein Gedanke ist ja,dass ich auf die Auswertungen generell verzichte,da ich ja alles auch dem Tunierbericht entnehmen kann.

Habe dazu mal ein weiteres Tabellenblatt eingefügt und mal nen paar Beispiel-Formeln eingetragen. Desweiteren habe ich mal zu dem Turnierbericht ein paar Kommentare hinzugefügt.

Wäre jetzt natürlich super,wenn Du mir sagen könntest,wieviel Spalten ich mindestens brauch bzw. wieviele am sinnvollsten sin,damit ich dann auch mal was tun kann.

Gruss Frank

http://www.uploadagent.de/show-177144-1315239458.html

Hallo Frank,

habe die Tabbi jetzt mal mit Namen und Zahlen gefüttert und
alle Varianten ausgewählt. Bisher läuft alle einwandfrei.

gut. Ich hatte am WE was gebastelt aber bislang noch nicht hochgeladen. Die Namen und Werte habe ich jetzt übernommen:

http://www.uploadagent.de/show-177174-1315301019.html

Mit der oberen neuen ComboBox wähslt du aus wieviele Runden angezeigt werden, die anderen Runden werden ausgeblendet, deshalb habe ich da die Gruppierung entfernt. Ich finds so praktischer.

Die andere Combobox dient nur zum schnelleren „Hüpfen“ zu einer Runde
im Blatt.

Schau halt mal…

Habe dazu mal ein weiteres Tabellenblatt eingefügt und mal nen
paar Beispiel-Formeln eingetragen. Desweiteren habe ich mal zu
dem Turnierbericht ein paar Kommentare hinzugefügt.

Die muß ich noch lesen,( hab jetzt keine Zeit, in paar Stunden)
Auch davon hängt es ab wieviele Spalten man bräuchte, deshalb kann ich jetzt dazu nix sagen zur Spaltenanzahl

Der Sinn deiner Hilfsspalten erschließt sich mir noch nicht.
Schau mal zur Auswertung in Tabbi, da habe ich auch jetzt Formeln eingesetzt zur Rangermittlung usw.

http://www.uploadagent.de/show-177144-1315239458.html

Gruß
Reinhard

Hallo Reinhard,

hab ich doch gerade tatsächlich nen Schrecken bekommen. Öffne die Mappe,sehe das in der ComboBox „Nix machen“ steht und dennoch stehen Werte immer noch in der Bonusspalte. Gottseidank falscher Alarm. Es läuft alles…fg

Es ist ja schön, dass du so fleissig Zeilen in den Code reinhackst,aber mich schmeisst du mit dem Austauschen für einen Moment völlig aus der Bahn(aus .Cells wird .Range) zumal mir die Excel-Hilfe nicht wirklich von grossem Nutzen ist. Habs aber jetzt auch verstanden.

Modul 3 jedoch ist immer noch ein Rätsel für mich(No Plan).

Nun zu deinen beiden ComboBoxen. Da es zu 95% immer mind. 7 Runden sind,bringen sie mir nicht wirklich was. Da fand ich das mit der nur einen sichtbaren Runde viel besser. Das dazu.

Welche Hilfsspalten meinst Du genau? Im Moment habe ich gar keine davon.Sind bestimmt noch die Alten.

Deine Formel in der Platzberecnung „Solo“ hab ich auch,nützt mir aber nichts,da bei mir ja gleichwertige Ränge vorkommen können und die auch noch fortlaufend, sprich ohne Lücken.

Mir schwebt da eher folgender Lösungsansatz vor :

{=INDEX($DH$13:blush:DH$166;VERGLEICH(INDEX($E$13:blush:E$166;VERGLEICH(KGRÖSSTE(ZÄHLENWENN($DG$13:blush:DG$166;"

Hallo Frank,

hab ich doch gerade tatsächlich nen Schrecken bekommen. Öffne
die Mappe,sehe das in der ComboBox „Nix machen“ steht und
dennoch stehen Werte immer noch in der Bonusspalte.
Gottseidank falscher Alarm. Es läuft alles…fg

sorry, ich hab nur die Teilnehmerdaten on dir übernommen aber nicht die jeweils gültigen Comboboxwerte.
Aber durch paar Klicks in die Comboboxn leicht zu beheben :smile:

Modul 3 jedoch ist immer noch ein Rätsel für mich(No Plan).

Erkläre ich untenstehend.

Nun zu deinen beiden ComboBoxen. Da es zu 95% immer mind. 7
Runden sind,bringen sie mir nicht wirklich was. Da fand ich
das mit der nur einen sichtbaren Runde viel besser. Das dazu.

Das ist okay. Dann kram ich die Version wieder aus mit nur einer sichtbaren Runde.
Aber da das ja nur die angezeigte Runde ist so bleibt natürlich in einem andeen Blatt im Hintergrund die bisherige Tabbi bestehen. Also alles was da getan wurde an Codes/Formeln ist genauso wichtig wie jetzt.

Welche Hilfsspalten meinst Du genau? Im Moment habe ich gar
keine davon.Sind bestimmt noch die Alten.

Ich meinte die auf deinem Zusatzblatt wo du den Rang bestimmst, da teilst du durch 100000 o.ä. in Hilfsspalten.

Deine Formel in der Platzberecnung „Solo“ hab ich auch,nützt
mir aber nichts,da bei mir ja gleichwertige Ränge vorkommen
können und die auch noch fortlaufend, sprich ohne Lücken.

Welche Platzverteilung willst du bei gleicher Punktzahl?
1,2,2,2,3,4
oder
1,2,2,2,5,6
oder etwas anderes?

Mir schwebt da eher folgender Lösungsansatz vor :

{=INDEX($DH$13:blush:DH$166;VERGLEICH(INDEX($E$13:blush:E$166;VERGLEICH(K
GRÖSSTE(ZÄHLENWENN($DG$13:blush:DG$166;"Function RSumme(ByRef Zelle As Range) As Integer

Dim N
For N = 1 To 15
RSumme = RSumme + Zelle.Offset(0, (N - 1) * 7).Value
Next
End Function

ist eine eigene Funktion die eine spezielle Formel bildet.
Für einen Solo spieler bräuchtest du die Summe von
J13 + Q13 +… + DD13
dann schreibst du als Formel nur noch:
=RSumme(J13)
Das klappt genauso für Pchen- und Tischsummen.

Mit der nachstehenden Prozedur „Formeln“ erstelle ich hinten in „tabbi“ die ganzen Summen- und Rangformeln, Solonamen, Pchennamen Tischnamen.
Ich habe eben da noch was ergänzt, ersetze bite die bestehende Prozedur durch diese Version.

Zu Cells und Range, hier erschien es mir zweckmäßiger Range zu benutzen:
.Range(„DJ“ & Zei).Formula = „=RANK(DK“ & Zei & „,$DK$13:blush:DK$166)“
Da ist es damit leichter sofort zu sehen daß da in
DJx eine Formel reinkommt die den Rang von DKx in Spalte DK berechnet.

Rank ist der Rang im engl. Excel, dort ist das Trennungszeichen in Formeln das Komma nicht das Semikolon.
Formula bedeutet engl. Schreibweise (weltweit)
Formulalocal deutsche Schreibweise (hier in D)

Sub Formeln()
Dim Zei As Long, Z As Long
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Worksheets("Tabbi")
 For Zei = 13 To 163 Step 5
 ' Teilnehmer, Summe und Rang für Solo
 For Z = 0 To 3
 .Range("DI" & Zei + Z).Formula = "=E" & Zei + Z
 .Range("DH" & Zei + Z).Formula = "=RSUMME(J" & Zei + Z & ")"
 .Range("DG" & Zei + Z).Formula = "=RANK(DH" & Zei + Z & ",$DH$13:blush:DH$166)"
 Next Z
 ' Teilnehmer, Summe und Rang für Pchen
 .Range("DL" & Zei).Formula = "=E" & Zei & "&"" / ""&E" & Zei + 2
 .Range("DL" & Zei + 2).Formula = "=E" & Zei + 1 & "&"" / ""&E" & Zei + 3
 .Range("DK" & Zei).Formula = "=RSUMME(K" & Zei & ")"
 .Range("DK" & Zei + 2).Formula = "=RSUMME(K" & Zei + 2 & ")"
 .Range("DJ" & Zei).Formula = "=RANK(DK" & Zei & ",$DK$13:blush:DK$166)"
 .Range("DJ" & Zei + 2).Formula = "=RANK(DK" & Zei + 2 & ",$DK$13:blush:DK$166)"
 ' Teilnehmer, Summe und Rang für Tisch
 .Range("DO" & Zei).Formula = "=E" & Zei & "&"" / ""&E" & Zei + 1 \_
 & "&"" / ""&E" & Zei + 2 & "&"" / ""&E" & Zei + 3
 .Range("DN" & Zei).Formula = "=RSUMME(L" & Zei & ")"
 .Range("DM" & Zei).Formula = "=RANK(DN" & Zei & ",$DN$13:blush:DN$166)"
 Next Zei
End With
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub

Hallo Reinhard,

Das ist okay. Dann kram ich die Version wieder aus mit nur
einer sichtbaren Runde.
Aber da das ja nur die angezeigte Runde ist so bleibt
natürlich in einem andeen Blatt im Hintergrund die bisherige
Tabbi bestehen. Also alles was da getan wurde an Codes/Formeln
ist genauso wichtig wie jetzt.

Von daher würd ich sagen,mach dir nicht die Mühe mit der Tabelle. Ich habe mich an diese Tabbi so gewöhnt,dann können wir auch die bisherige behalten.

Ich meinte die auf deinem Zusatzblatt wo du den Rang
bestimmst, da teilst du durch 100000 o.ä. in Hilfsspalten.

Das sind einfach Gedanken und Lösungen, die ich zum Teil im Netz gefunden habe(damit ich das nicht wieder vergesse).

Welche Platzverteilung willst du bei gleicher Punktzahl?
1,2,2,2,3,4
oder
1,2,2,2,5,6
oder etwas anderes?

Die Platzverteilung muss schon 1,2,2,2,3,4 sein.

Mir schwebt da eher folgender Lösungsansatz vor :

Arrayformeln sind langsam. Sag mal wie du wie gefragt die
Rangverteilung haben möchtest.
Dann teste ich mal was schneller ist (andersrum ob dabei was
extrem langsames ist im Vergleich) Matrixformel, Formel (ggfs.
mit Hilfsspalte, Vba, Vba plus Formeln.

Mir gefiel in diesem Beispiel, dass ich den Platz und den Namen in einer Spalte habe(eine Spalte weniger)

Wie möchte ich das haben? Hmmm, in der Tabbi nur das nötigste,was ja dann wohl die Gesamtpunkte,Platzierung und Name wären. Alles andere komt ja in den Tunier-Bericht, wie jetzt auch, wodurch ich mir ja diese ganzen unnützen Auswertungen erspare.

Aussehen wird es so:

«ø·º°°°º·ø» 1. Platz mit 12503 Punkten sind Dagobert / Donald / Micky / Minnie «ø·º°°°º·ø»
«ø·º°°°º·ø» 2. Platz mit 12496 Punkten sind Bär / Hund / Schnecke / Katze «ø·º°°°º·ø»
«ø·º°°°º·ø» 3. Platz mit 12001 Punkten sind Engel / Teufel / Drachen / Nikolaus «ø·º°°°º·ø»
«ø·º°°°º·ø» 4. Platz mit 11994 Punkten sind Zack / Cody / Goofy / Pluto «ø·º°°°º·ø»

Herzlichen Glückwunsch den 16 Gewinnern

Weiter haben mitgespielt:

  1. Platz mit 11975 Punkten sind Gelb / Grün / Blau / Rot

Hier hätte ich gerne,aber nur wenn es kein zu grosser Aufwand ist, dass wenn der 5. Platz auch Platz 4 wäre,dass er eben mit nach oben rutscht(siehe Kommentare in meiner Tabbi).

zum Modul 3

Function RSumme(ByRef Zelle As Range) As Integer
Dim N
For N = 1 To 15
RSumme = RSumme + Zelle.Offset(0, (N - 1) * 7).Value
Next
End Function

ist eine eigene Funktion die eine spezielle Formel bildet.
Für einen Solo spieler bräuchtest du die Summe von
J13 + Q13 +… + DD13
dann schreibst du als Formel nur noch:
=RSumme(J13)
Das klappt genauso für Pchen- und Tischsummen.

Deswegen konnte ich also nix in der Hilfe darüber finden

Zu Cells und Range, hier erschien es mir zweckmäßiger Range zu
benutzen:

Das habe ich mir gedacht,denn wenn ich das richtig verstanden habe, sprichst du mit Cells(2, Spa) nur eine Zelle an,während du mit Range einen ganzen Bereich ansprichst und so bei z.B Formatierungen wie „Fett“ ect. es nur einmal eingeben musst.

Gruss

Frank