Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo @all Danke für den Tipp André kann im Moment nicht drauf zugreifen sitze bei der Buckligen, leider nur am Läppi. Aber Morgen, da wird'z was geben...
man liest sich ...
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Frank, Bin gerade auch nur im Smartphone - Modus, ...:17:
. \\\|/// 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 @all & André weitere Fehlermeldungen erhalten: zum einen Anweisungsendeoder Eigenschaft RowSource konnte ... Code: With ActiveSheet.Select.Case.Cells(Rows.Count, 3) ' With ActiveSheet 'Worksheets("29.08.2014") Application.ScreenUpdating = False ' For lngC = 3 To .Cells(.Rows.Count, 3).End(xlUp).Row Select Case .Cells(lngC, 3).Value Case "2 auf die Vollen" .Cells(lngC, 31).FormulaR1C1 = "=IFERROR(IF(RC[-26]=""a"",4,IF(RC[-26]=""s"",3,IF(RC[-26]=""x"",0,IF(RC[-26]=""k"",8,RC[-26]))))+IF(RC[-25]=""a"",4,IF(RC[-25]=""s"",3,IF(RC[-25]=""x"",0,IF(RC[-25]=""k"",8,RC[-25])))),"""")" Case "gr.H.nr." .Cells(lngC, 31).FormulaR1C1 = "=IFERROR(((SUMPRODUCT(IF(ISNUMBER(RC[-26]),RC[-26],LOOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*100))+SUMPRODUCT(IF(ISNUMBER(RC[-25]),RC[-25],LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*10))+SUMPRODUCT(IF(ISNUMBER(RC[-24]),RC[-24],LOOKUP(RC[-24],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*1),"""")" Case "kl.H.nr." .Cells(lngC, 31).FormulaR1C1 = "=IFERROR(((SUMPRODUCT(IF(ISNUMBER(RC[-26]),RC[-26],LOOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*100))+SUMPRODUCT(IF(ISNUMBER(RC[-25]),RC[-25],LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*10))+SUMPRODUCT(IF(ISNUMBER(RC[-24]),RC[-24],LOOKUP(RC[-24],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}))*1),"""")" Case "Plus Plus Minus Mal Geteilt" .Cells(lngC, 31).FormulaR1C1 = "=IFERROR(SUM((((IF(RC[-26]=""a"",4,IF(RC[-26]=""s"",3,IF(RC[-26]=""x"",0,IF(RC[-26]=""k"",8,RC[-26]))))+IF(RC[-25]=""a"",4,IF(RC[-25]=""s"",3,IF(RC[-25]=""x"",0,IF(RC[-25]=""k"",8,RC[-25])))))-IF(RC[-24]=""a"",4,IF(RC[-24]=""s"",3,IF(RC[-24]=""x"",0,IF(RC[-24]=""k"",8,RC[-24])))))*IF(RC[-23]=""a"",4,IF(RC[-23]=""s"",3,IF(RC[-23]=""x"",0,IF(RC[-23]=""k"",8,RC[-23])))))/IF(RC[-22]=""a"",4,IF(RC[-22]=""s"",3,IF(RC[-22]=""x"",0,IF(RC[-22]=""k"",8,RC[-22]))))),"""")" Case Else .Cells(lngC, 31).Value = "" End Select ' Next lngC Application.ScreenUpdating = True End With End Sub
Was stimmt hier oder da nicht, ich bitte um Aufklärung man liest sich ... :s mfg
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Frank, da bringst Du jetzt aber ganz schön was durcheinander. Die Struktur vom code solltest Du nicht verändern. Das Select Case gehört nicht in die With - Anweisung, sondern dorthin, wo es vorher stand ;-( Jetzt schreib ich's mal zeilenweise: Schreibe nur With ActiveSheet und dann Select Case .cells(rows.count,3).End(xlUp).Value Also Code: With ActiveSheet ' With ActiveSheet 'Worksheets("29.08.2014") Application.ScreenUpdating = False ' For lngC = 3 To .Cells(.Rows.Count, 3).End(xlUp).Row Select Case .cells(rows.count,3).End(xlUp).Value ...
. \\\|/// 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é & @all Danke für die Hilfe, Code wird eingepflegt.
mfg
Registriert seit: 13.04.2014
Version(en): 365
Hallo Frank,
meine Formel ist zum Eintragen in die Tabelle. Für VBA müsste Sie erst mal umgeschrieben werden.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo Edgar & @all Da habe ich aber jetzt ein Problem. Wenn ich die Formel in eine Zelle, über den Makrorekorder packe, und mit Ok abschliesse, ist alles korrekt. Wenn aber die Formel erweitert wird, siehe unten: Klartext Code: =WENN(C11="";"";WENN(LINKS(C11;3)="Plu";SUMME((((WENN(ISTTEXT(E11);VERWEIS(E11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});E11)+WENN(ISTTEXT(F11);VERWEIS(F11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});F11))-WENN(ISTTEXT(G11);VERWEIS(G11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});G11))*WENN(ISTTEXT(H11);VERWEIS(H11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});H11))/WENN(ISTTEXT(I11);VERWEIS(I11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});I11));WENN(LINKS(C11;3)="2 a";WENN(ISTTEXT(E11);VERWEIS(E11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});E11)+WENN(ISTTEXT(F11);VERWEIS(F11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});F11);WENN(LINKS(C11;3)="gr.";WENN(ISTTEXT(E11);VERWEIS(E11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});E11)&WENN(ISTTEXT(F11);VERWEIS(F11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});F11)&WENN(ISTTEXT(G11);VERWEIS(G11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});G11);WENN(ISTTEXT(E11);VERWEIS(E11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});E11)&WENN(ISTTEXT(F11);VERWEIS(F11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});F11)&WENN(ISTTEXT(G11);VERWEIS(G11;{"a";"k";"o";"s";"x"};{4;8;9;3;0});G11)))))
Makro = Fehlermeldung > Zeile zu lang Code: Sub Makro3() ' Makro3 Makro ActiveCell.FormulaR1C1 = _ "=IF(RC[-28]="""","""",IF(LEFT(RC[-28],3)=""Plu"",SUM((((IF(ISTEXT(RC[-26]),LOOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-26])+IF(ISTEXT(RC[-25]),LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-25]))-IF(ISTEXT(RC[-24]),LOOKUP(RC[-24],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-24]))*IF(ISTEXT(RC[-23]),LOOKUP(RC[-23],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-23]))/IF(ISTEXT(RC[-22]),LOOKUP(RC[-22],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-22])),IF(LEFT(RC[-28],3)=""2 a"",IF(ISTEXT(RC[-26]),LOOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-26])+IF(ISTEXT(RC[-25]),LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-25]),IF(LEFT(RC[-28],3)=""gr."",IF(ISTEXT(RC[-26]),LOOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-26])&IF(ISTEXT(RC[-25]),LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-25])&IF(ISTEXT(RC[-24]),LOOKUP(RC[-24],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-24]),IF(ISTEXT(RC[-26]),L
------------------------- Hier ist die Zeile umbrochen -----------------
OOKUP(RC[-26],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-26])&IF(ISTEXT(RC[-25]),LOOKUP(RC[-25],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-25])&IF(ISTEXT(RC[-24]),LOOKUP(RC[-24],{""a"";""k"";""o"";""s"";""x""},{4;8;9;3;0}),RC[-24])))))" End Sub
Da noch etliche Spiele folgen sollen mit Berechnungsformeln, glaube ich ist die Case-Geschichte hier wohl am angebrachtesten. Oder hat jemand eine andere Lösungsidee ?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Frank, eine codezeile darf in Excel / VBA wohl > 25.500 Zeichen enthalten. Wenn ich mir Deine Zeile anschaue, dürfte das noch nicht erreicht sein. Allerdings darf eine Formelzeile nicht so lang sein, da liegt die Grenze bei 1024 Zeichen. Deine "deutsche" Formel hat schon ca. 1014, die "englische" ist deutlich länger. Eine clevere Lösung wirst Du da wohl nicht finden. Falls die Formel in deutsch ausreichend wäre, könnte man sie auch als Text eintragen, dann in eine Formel umwandeln und von der Zelle aus in die anderen kopieren. Alternativ könnte man auch mit Zwischenergebnissen arbeiten. Oder Du lässt VBA das ausrechnen
. \\\|/// 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
(01.09.2014, 20:08)schauan schrieb: ...Oder Du lässt VBA das ausrechnen... Hallo André, deine Zeilen lesen sich fast wie Balsam, aber (großes) ABER. Es gibt 20 - 27 Spiele unterschiedlichster Rechenart: 2 auf die Vollen =_______________________________nur addieren Plus Plus Minus Mal Geteilt =______________________((((9+9)-1)*9)/2) 301 oder 501 =_________________________________9*10;8*9;7*8 usw bis auf annähernd 0 runter. (Sieger mit den Wenigsten Holz) grosse H.Nr. = __________________________________9_8_7 kleine H.Nr. = ___________________________________0_0_1 und so weiter Das eben versuch ich mittels VBA abzudecken. Für mich am besten geeignet (nach jetzigen Wissensstand) wohl die Variante per "Case" Oder jedes Spiel bekommt seine eigene Summenspalte, hab ja jede Menge hinten frei. :21: Anschließend nur die Zahlen in die betreffende Summenspalte AE reinkopieren :05: Arrrrrggggg... un fast in die Heija Früh-früh
Registriert seit: 15.04.2014
Version(en): Office 2007
Hallo @all, gib es eventuell noch andere Lösungsansätze, wegen der Beschränkung der (1024 Zeichen) in der Formellänge
|