Summewenn/zählenwenn MS-Excel-2k

Liebe Experten

In einer Tabelle sind horizontal von Links nach Rechts Werte eingetragen. Diese beginnen aber horizontal an einer beliebigen Stelle sind aber nachher aufeinanderfolgend. Ich möchte nun am Ende der Zeile die Summe der ersten beiden Einträge bilden.

Hat jemand eine Idee wie man dies bewerkstelligen könnte?

Vielen Dank
Urs

Interessante Aufgabe - und lösbar!

Hat jemand eine Idee wie man dies bewerkstelligen könnte?

Ja, und sie funktioniert sogar (ohne Makro).

Gehe bitte mal auf Extras/Makro/Makros…) und drücke rechts auf „Erstellen“ oderso („Create“). Sollte dieser Knopf gesperrt sein, gib vorher als Makro-Namen was beliebiges ein. Es erscheint der VBA-Editor mit einem leeren Makro-Rumpf. Den kannst Du komplett löschen, denn an dessen Stelle fügst Du das hier ein:

Sub SummeDerErstenZwei()
 With Range("B6:F6")
 .Borders(xlEdgeLeft).Weight = xlThin
 .Borders(xlEdgeTop).Weight = xlThin
 .Borders(xlEdgeBottom).Weight = xlThin
 .Borders(xlEdgeRight).Weight = xlThin
 .Borders(xlInsideVertical).Weight = xlThin
 End With
 
 With Range("G6:J6")
 .Borders(xlEdgeLeft).Weight = xlMedium
 .Borders(xlEdgeTop).Weight = xlMedium
 .Borders(xlEdgeBottom).Weight = xlMedium
 .Borders(xlEdgeRight).Weight = xlMedium
 .Borders(xlInsideVertical).Weight = xlMedium
 End With
 
 Range("B6:F6").Interior.ColorIndex = 33
 Range("G6").Interior.ColorIndex = 35
 Range("H6:J6").Interior.ColorIndex = 36
 
 With Range("B4:J6")
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlTop
 .WrapText = True
 End With
 
 Columns("B:F").ColumnWidth = 5
 Columns("G:J").ColumnWidth = 9
 
 Range("G5").FormulaR1C1 = "Summiere die ersten"
 Range("H5").FormulaR1C1 = "Anzahl Leerfelder"
 Range("I5").FormulaR1C1 = "Summe"
 Range("J5").FormulaR1C1 = "Summe kompakt"
 Range("D6").FormulaR1C1 = "12"
 Range("E6").FormulaR1C1 = "3"
 Range("F6").FormulaR1C1 = "100"
 Range("G6").FormulaR1C1 = "2"
 Range("H6").FormulaR1C1 = "=COUNTBLANK(RC[-6]:RC[-2])"
 Range("I6").FormulaR1C1 = "=SUM(OFFSET(RC[-7],0,RC[-1],1,RC[-2]))"
 Range("J6").FormulaR1C1 = "=SUM(OFFSET(RC[-8],0,COUNTBLANK(RC[-8]:RC[-4]),1,RC[-3]))"
 
 Range("G6").Select
End Sub 'SummeDerErstenZwei

Wenn Du das Makro ausführst, wird die Lösung ins aktuelle Tabellenblatt geschrieben. Das ist vielleicht eindeutiger, als wenn ich schreibe: „Gib in Zelle xy ‚zzz‘ ein und dann …“, zumal es so egal ist, ob Du eine Englische oder Deutsche Version hast oder was auch immer für eine.

Probier´s mal und frage nach bei Problemen.

Kristian

Hallo Kristian,

solche Lösungen wie die Deine sind es, die mich total begeistert sein lassen von diesem Forum hier, das ich erst seit etwa zwei Monaten kenne.

Excel mag ich und ich kenne mich auch ein bisschen aus. Aus Neugier auf neue oder andere Lösungen schaue ich immer mal wieder in diese Rubrik, natürlich auch, um eigene Lösungen weitergeben zu können.

Das Problem von Urs hatte ich nicht ganz verstanden. Aber das, was Du ihm als Lösung präsentiert hast, hört sich sehr professionell an und wird wahrscheinlich auch so funktionieren. Und eben das faszinietr mich so sehr: da hat ein Mensch ein Problem, ein anderer kennt ihn nicht und setzt sich trotzdem hin und tüftelt eine Lösung aus. Einfach so. Toll!!!

Dieser Kommentar gehört vielleicht nicht hierher. Aber mir war danach, mal jemanden ganz persönlich zu loben für sein Engagement, von dem dieses Forum hier in hohem Maße lebt.

Auch allen anderen Experten und Expertinnen an dieser Stelle mal ein dickes Dankeschön.

Viele Grüße
Siegfried

Danke und Dito :wink: - k.T. -
k.T.