Excel 2013 Spaltensumme in einem benannten Bereich
#1
Hallo zu so später Stunde,
ich habe mal wieder ein Problemchen und hoffe auf Eure Hilfe.

In einem benannten Bereich einer Tabelle z.B. "Summenbereich10" ='Auswertung'!$227:$240 möchte ich alle Werte einer Spalte in diesem Bereich aufaddieren. Also so etwas wie Autosumme.
Dies soll geschehen wenn auf die nächste Zelle unterhalb des benannten Bereiches dieser Spalte ein Doppelklick erfolgt.
Es kann dabei durchaus vorkommen dass nicht alle Zellen in dieser Spalte einen Wert besitzen.

Vielleicht kann mir jemand einen Tipp geben.

Vielen Dank im Voraus!
Top
#2
Hallo Erich,

Code im schon vorhandenen VBA-Modul des entsprechenden Tabellenblattes:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Range("Summenbereich10")
   If Not Application.Intersect(Target, .Resize(1).Offset(.Rows.Count)) Is Nothing Then
     Cancel = True
     Target.Value = Application.Sum(.Columns(Target.Column))
   End If
 End With
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Top
#3
Hallo Uwe,

so etwas suche ich auch.

Allerdings summiert Dein Code nicht den definierten Bereich,
sondern den Bereich rechts daneben.

Wie kann man das ändern.

Grüße

Veltepetter


Angehängte Dateien
.xlsm   SUMMENBEREICH10.xlsm (Größe: 15,86 KB / Downloads: 4)
Top
#4
Hallo Veltepetter,

erwischt. ;)

So passt es immer:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 With Range("Summenbereich10")
   If Not Application.Intersect(Target, .Resize().Offset(.Rows.Count)) Is Nothing Then
     Cancel = True
     Target.Value = Application.Sum(Application.Intersect(.Columns, Target.EntireColumn))
   End If
 End With
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Top
#5
Danke!

Grüße
Veltepetter
Top
#6
Super, vielen Dank für die Hilfe!

Genau das habe ich gesucht.

Schon klasse dieses Forum mit all seinen Könnern!!

Eine Frage hätte dazu hätte ich noch:
Ich habe ja mehrere Summenbereiche (1-10) und alle sind mit Bereichsnamen versehen.
Die Idee ist dies mit Case abzuhandeln...zu sehen in welchem Bereich man sich bewegt.....nur wie kann ich dies aufbauen.
D.h. es soll genau so funktionieren wie in Eurem gezeigten Beispiel.
Wenn ich einen Doppelklick in der Zelle unterhalb des darüber liegenden Bereiches mache soll diese Spalte im Bereich addiert werden.
Top
#7
Hallo Erich,

dann vielleicht so:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim i As Long
 For i = 1 To 10
   With Range("Summenbereich" & i)  'für z.B. "Summenbereich1"
   'oder
   'With Range("Summenbereich" & Format(i, "00"))  'für z.B. "Summenbereich01"
     If Not Application.Intersect(Target, .Resize().Offset(.Rows.Count)) Is Nothing Then
       Cancel = True
       Target.Value = Application.Sum(Application.Intersect(.Columns, Target.EntireColumn))
       Exit For
     End If
   End With
 Next i
End Sub

Gruß Uwe
Top
#8
(06.06.2015, 20:49)Kuwer schrieb: Hallo Erich,

dann vielleicht so:




Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim i As Long
 For i = 1 To 10
   With Range("Summenbereich" & i)  'für z.B. "Summenbereich1"
   'oder
   'With Range("Summenbereich" & Format(i, "00"))  'für z.B. "Summenbereich01"
     If Not Application.Intersect(Target, .Resize().Offset(.Rows.Count)) Is Nothing Then
       Cancel = True
       Target.Value = Application.Sum(Application.Intersect(.Columns, Target.EntireColumn))
       Exit For
     End If
   End With
 Next i
End Sub

Gruß Uwe

Hallo Uwe,

ich meine das mit der Laufvariablen (i) funktioniert so nicht.
Wenn ich einen Bereich anklicke der nicht mit "i" übereinstimmt bekomme ich eine Fehlermeldung - "Die Methode Range für das Objekt _Worksheet ist fehlgeschlagen"
Diese Fehlermeldung bekomme ich immer wenn ich einen anderen Bereich als den Summenbereich1 anklicke.
Deshalb hatte ich ja die Idee mit Case select.
Nur weiß ich nicht wie das gehen könnte. Die Prüfung wo ich gerade bin - also unter welchem Bereich ich den Doppelklick mache - fehlt mir dazu.

Vielleicht hast Du noch ne Idee?
Top
#9
Hallo Erich,

"Select Case " was?

Gruß Uwe
Top
#10
Hallo Uwe,

das ist ja meine Frage, ich dachte mir so etwas

Select Case "ja wo bin ich denn" ---- hier weiß ich nicht wie ich das definieren soll-----müsste ja wissen welcher Bereich gerade "doppelgeklickt" wird---um dann mit "case" zu verzweigen
   Case Summenbereich1
.
   Case Summenbereich2
.
   Case ......usw
.
   Case Else

End Select

Aber wie ich schon beschrieben habe fehlt mir die Idee
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste