Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo André, ist diese Abfrage Code: If iRowEintrag = 0 Then iRowEintrag = WorksheetFunction.CountA(Columns(1))
nicht überflüssig? Denn hier Code: If iRowEintrag = 0 Then iRowEintrag = WorksheetFunction.CountA(Columns(1))
frägst Du sie ja nochmals ab.
Gruß Stefan Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
07.09.2014, 20:24
(Dieser Beitrag wurde zuletzt bearbeitet: 07.09.2014, 20:32 von schauan.)
Hallo Stefan, ja, einmal reicht Ansonsten könnte die Prüfung auch falsch ausgehen Ich hab das mal noch korrigiert.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 15.04.2014
Version(en): Office 2007
(07.09.2014, 18:01)schauan schrieb: ...schwere Geburt...diesmal scheint's zu klappen...Falls nicht... Hallo André, da muß nochmal das Skapell dran. Das Kind steckt mit dem Hals im Schlamassel fest. Fehler bei: Wert 1 in alle Zellen geholt = nur Name 8 mit 1 stimmt Wert 2 in alle Zellen geholt = nur Name 6 mit 2 stimmt nicht Wert 3 in alle Zellen geholt = nur Name 5 mit 3 stimmt nicht ich schätze mal, der Fehler wird weiter steigen 4 zu 4;3 zu 5; 2 zu 6. hatte leider keine Zeit um alles durchzutesten. Wo mag da ader Fehler liegen? Bin auf deine Hilfe weiter gespannt und den anderen Helfern un bye bye ab in die Heija - Früh-früh
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo @all melde mich nach intensivster Suche und probieren im Code, komme nicht weiter. 1ster Fehler: Sprungmarke ist beim Werfer, Name 1 wirft eine 1 bekommt selber die 1 (Zeilenzähler steht vielleicht verkehrt) Wenn nun jeder Werfer von 8 herunter wirft, stimmt die Anzeige. Werfer 1 hat 8 Treffer Das komische ist halt das die unteren Wurf fast alle stimmen Name_Wurf__Stand__soll bei 1______1______2______2 2______1______1______3 3______1______1______4 4______1______1______5 5______1______1______6 6______1______1______7 7______1______-_____9 8______1______1______2
Ich bitte um eure Hilfe oder doch mit Formeln
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Frank, jetzt hab ich noch mehr Varianten getestet .... Code: Sub zaehlen() 'Variablendeklarationen 'Integer Dim iRowEintrag%, iCnt%, iRow% 'D10 leeren Cells(10, 4).ClearContents 'Sub verlassen, wenn nur noch ein Spieler < 13 Punkte hat 'Hinweis: wenn in Spalte C unterhalb des Punktebereichs auch eine 13 stehen kann, dann 'muss der Bereich zum Zaehlen begrenzt werden! If WorksheetFunction.CountIf(Columns(3), 13) = WorksheetFunction.CountA(Columns(1)) - 2 Then Exit Sub 'Zeile der Aktiven Zelle festhalten iRow = ActiveCell.Row - 1 'Zeile fuer eintrag berechnen iRowEintrag = (ActiveCell.Value + iRow) Mod (WorksheetFunction.CountA(Columns(1)) - 1) If iRowEintrag = 0 Then _ iRowEintrag = WorksheetFunction.CountA(Columns(1)) - 1 'Weiter, solange Ziel schon 13 Punkte hat Do While Cells(iRowEintrag + 1, 3) = 13 'Zeile fuer Eintrag berechnen iRowEintrag = (iRowEintrag + 1) Mod (WorksheetFunction.CountA(Columns(1)) - 1) If iRowEintrag = 0 Then _ iRowEintrag = WorksheetFunction.CountA(Columns(1)) - 1 Loop 'Zeilennummer fuer Eintrag eintragen Cells(10, 4) = iRowEintrag 'Punkte 1 hochzaehlen Cells(iRowEintrag + 1, 3) = Cells(iRowEintrag + 1, 3) + 1 End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo André Danke für deine unermütliche Hilfe :18:, der Code läuft anfangs gut, nur wenn z.b. Name 1 schon 13 Treffer hat, wird dieser in der weiteren Berechnung noch mit berücksichtig.
M2.xlsm (Größe: 28,08 KB / Downloads: 1)
Ich habe mal den Namen eine kleine Formel beigefügt, damit der schon 13 Treffer hat auf Null gestellt ist. Anbei in der Datei verschiedene Ansichten des Verhaltens und grafische Darstellungen und schon wieder ein graues Haar ... schönen Tag noch
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Frank, Lösung kommt morgen ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
10.09.2014, 20:03
(Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2014, 20:04 von schauan.)
Hallo Frank, jetzt ist der code hoffentlich clever genug, dass es klappt - zum Glück ist das Forum belastbar . Ich war's gestern Abend nicht - bin eingeschlafen und erst kurz vor 10 aufgewacht... Wieder eine neue Variante. Diesmal kannst Du auch unter die Spieler etwas schreiben. Das Ende der Spielereinträge wird durch eine Leerzelle unter A3 definiert. Es sollten mindestens zwei Mitspieler sein Code: Sub zaehlen4() 'Variablendeklarationen 'Integer Dim iCnt1%, iRow%, iHit% Dim arrTmp 'Variant-Array 'D10 leeren Cells(10, 4).ClearContents 'Daten uebernehmen iRow = ActiveCell.Row - 1 'Positionszaehler, Zeile der aktiven Zelle - 1 iHit = ActiveCell.Value 'Wurf 'alle Stände aus Spalte C in Array uebernehmen 'Hinweis: Laenge Datenbereich anhand Spalte A 'Ab A2 nach unten bis ueber erste leere Zelle arrTmp = WorksheetFunction.Transpose(Range("A2:A" & Cells(2, 1).End(xlDown).Row).Offset(, 2).Value) 'Sub Verlassen, wenn alle bis auf einen 13 Treffer haben If WorksheetFunction.Sum(arrTmp) = 13 * UBound(arrTmp) - 1 Then Exit Sub 'Schleife bis zum Ziel ueber alle Eintraege ' iCnt1 = 0 Do While iCnt1 < iHit iRow = iRow + 1 'Positionszaehler hochsetzen, ist er groesser als die 'Anzahl der Mitspieler, zuruecksetzen auf 1 If iRow > UBound(arrTmp) Then iRow = 1 'Schleifenzaehler hochsetzen, wenn Eintrag < 13 If arrTmp(iRow) < 13 Then iCnt1 = iCnt1 + 1 Loop 'Zeilennummer fuer Eintrag eintragen Cells(10, 4) = iRow + 1 'Stand hochzaehlen Cells(iRow + 1, 3) = Cells(iRow + 1, 3) + 1 End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 15.04.2014
Version(en): Office 2007
(10.09.2014, 20:03)schauan schrieb: ...gestern Abend nicht - bin eingeschlafen... Hallo André, bin ebenfalls hundemüde. Dries Spätschicht bis 0 Uhr, deswegen auch nur hier ganz kurz erwähnt. Habe mir die Kommentare durchgelesen im Code, was da steht ist hoch erfreulich. Werde sobald ich Zeit bekomme Zaehlen3 durch den neuen ersetzen. Werde berichten nach reichlich durchspielen der verschiedensten Szenarien. Mein nächster Gedanke wäre, wie die einzelnen Wurf dem Werfer zuordnen. Da auch die geworfenen Holz jeder Person zusammen addiert werden. Momentan ist ja die "ActiveCell" im Fokus auf dem Tabellenblatt. In einer Userform über eine Textbox erfolgen soll. Bin damit schon am frickeln. Aber dazu erst später... , so Zahnarzt will mich auf'm Stuhl seh'n. Danke Dir vielmals André
|