wie man im Anhang sieht habe ich noch etwas weiter gebastelt.
Man kann jetzt unterschiedlich große Blöcke in den definierten Bereichen, die auch nicht zusammenhängend sein müssen, Werte aufaddieren.
Wo ich jetzt noch hänge ist dass ich nicht so richtig weiß wie eine Aufsummierung verboten werden kann wenn man einen Doppelklick in einen der "SumErgebnisx"-Bereiche macht und die darüber liegenden Zellen der Spalte leer sind oder nur Text enthalten? Siehe z.B. Spalte "A" oder Spalte "I".
Und noch etwas stört mich. Nach der Berechnung durch den Doppelklick verharrt die Zelle im Bearbeitungsmodus....also der Cursor blinkt in der Zelle. Wie kommt man aus dem Bearbeitungsmodus mit VBA heraus?
17.11.2015, 17:10 (Dieser Beitrag wurde zuletzt bearbeitet: 17.11.2015, 17:10 von Rabe.)
Hi,
(17.11.2015, 16:39)sharky51 schrieb: Wo ich jetzt noch hänge ist dass ich nicht so richtig weiß wie eine Aufsummierung verboten werden kann wenn man einen Doppelklick
vielleicht kannst Du diese Bereiche sperren und dann das Blatt schützen? Damit dort gleich gar nicht hingeklickt werden kann.
(17.11.2015, 16:39)sharky51 schrieb: Wie kommt man aus dem Bearbeitungsmodus mit VBA heraus?
füge als letzte Zeile in Dein Makro "SpaltenSumme" dieses ein: Range("A" & intRow).Activate
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28 • sharky51
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim lCol As Integer Dim rngUnion As Range
lCol = Cells(1, Columns.Count).End(xlToLeft).Column Set rngUnion = Application.Union(Range("SumErgebnis1"), Range("SumErgebnis2"), Range("SumErgebnis3")) If Not Intersect(rngUnion, Target) Is Nothing Then Call SpaltenSumme(Target.Row - 1, lCol): Cancel = True End Sub
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28 • sharky51
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim lCol As Integer Dim rngUnion As Range
lCol = Cells(1, Columns.Count).End(xlToLeft).Column Set rngUnion = Application.Union(Range("SumErgebnis1"), Range("SumErgebnis2"), Range("SumErgebnis3")) If Not Intersect(rngUnion, Target) Is Nothing Then Call SpaltenSumme(Target.Row - 1, lCol): Cancel = True End Sub
Hallo Stefan,
leider ist das nicht die Lösung...das Cancel = True hat keinen Effekt.