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 Anweisungsende
oder
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, 2019
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, 19: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
|