Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel 2013 Spaltensumme in einem benannten Bereich
#11
Hallo Erich,

ich dachte, Du würdest selbst darauf kommen, die 10 in der Zeile

For i = 1 To 10

an Deine Gegebenheiten anzupassen. Uns verrätst Du die ja nicht.
Du weißt doch, wie viele Bereiche es sind.
Alternativ kannst Du auch darüber eine Zeile einfügen mit

On Error Resume Next

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

ich denke jetzt hab ich meinen Fehler gefunden.

Also es sind 10 Summenbereiche 1-10, die auch so benannt sind.
In dem Arbeitsbeispiel sind nicht alle Summenbereiche benannt und somit läuft die For-Schleife gegen die Wand wenn ein Summenbereich erwartet wird den es gar nicht gibt.

Dank Deinem Hinweis hat es jetzt auch bei mir Klick gemacht, danke!
Damit ist die Idee mit "Case" gestorben.

Vielen Dank nochmals...auch für die Geduld.
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#13
Hallo Uwe,


muss noch mal nachfragen, da es bei mir nicht
so funktioniert, wie ich es vermutet habe.

Ich kann unterhalb der definierten Bereiche
mehrere Zeilen weiter nach unten, durch
Doppelklick summieren.
Außerhalb der definierten Bereiche führt
der Doppelklick zu einem Laufzeitfehler.

Liegt es an mir?

Grüße
Veltepetter


Angehängte Dateien
.xlsm   SUMMENBEREICH10_1.xlsm (Größe: 17,65 KB / Downloads: 4)
Antworten Top
#14
Hallo Frank,

das ist mir gar nicht aufgefallen, dass in Deiner ersten Beispielmappe die 1 bei Resize() fehlte.
Ich übernahm es einfach nach der Korrektur aus Deiner Mappe.
Die 1 bewirkt, dass der Doppelklickbereich nur eine Zeile groß ist.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim i As Long
 On Error Resume Next
 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(1).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
Antworten Top
#15
Hallo,

jetzt funktioniert es schon besser. Wink

Allerdings kann man nun in keiner anderen Zelle,
außer denen unter den definierten Bereichen,
einen Doppelklick ausführen.

Grüße
Veltepetter

P.S. Das hattest aber auch geschrieben, fällt mir im Nachhinein auf.
Antworten Top
#16
(07.06.2015, 10:56)sharky51 schrieb: Hallo Uwe,

ich denke jetzt hab ich meinen Fehler gefunden.

Also es sind 10 Summenbereiche 1-10, die auch so benannt sind.
In dem Arbeitsbeispiel sind nicht alle Summenbereiche benannt und somit läuft die For-Schleife gegen die Wand wenn ein Summenbereich erwartet wird den es gar nicht gibt.

Dank Deinem Hinweis hat es jetzt auch bei mir Klick gemacht, danke!
Damit ist die Idee mit "Case" gestorben.

Vielen Dank nochmals...auch für die Geduld.

Hallo Uwe,

mir ist da noch eine Frage eingefallen zu dem Thema benannte Bereiche eingefallen.

Wie finde ich per VBA heraus wo die Grenzen eines benannten Bereiches sind?
Damit meine ich in welcher Zeile/Spalte beginnt bzw. endet der Bereich?

Kannst Du mir da einen Tipp geben?
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top
#17
Hallo Erich,

z.B.:

Code:
Sub aaa()
 With Range("Summenbereich1")
   MsgBox "Der Bereich """ & .Name.Name & """  beginnt in Zeile " & .Row & " und Spalte " & .Column & vbNewLine & _
          " und endet in Zeile " & .Row + .Rows.Count - 1 & " und Spalte " & .Column + .Columns.Count - 1 & ".", vbInformation
 End With
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • sharky51
Antworten Top
#18
(15.06.2015, 14:29)Kuwer schrieb: Hallo Erich,

z.B.:



Code:
Sub aaa()
 With Range("Summenbereich1")
   MsgBox "Der Bereich """ & .Name.Name & """  beginnt in Zeile " & .Row & " und Spalte " & .Column & vbNewLine & _
          " und endet in Zeile " & .Row + .Rows.Count - 1 & " und Spalte " & .Column + .Columns.Count - 1 & ".", vbInformation
 End With
End Sub

Gruß Uwe
 
Super Uwe,

genau das benötige ich.

Herzlichen Dank!!
Mit freundlichen Grüßen / Best regards
                          //
----------o00o---°(_)°---o00o----------------------

Erich
Antworten Top


Gehe zu:


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