kann ich mit Excel Summen "dynamisch" bilden (geht die List bis A30, dann in A32, gehts bis A45, dann in A47)?
Danke für eine Antwort
MfG
Albrecht Grohn
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Dim Lletzte As Long
Dim Formel As String
If Not Target.Column = 1 Then Exit Sub
Application.EnableEvents = False
For Each Zelle In Range("A1:A1000") ' Bereich anpassen
If Zelle.HasFormula Then ' Wenn Formel vorhanden dann
Zelle.ClearContents ' Lösche Formel und verlasse die Schleife
Exit For
End If
Next
Lletzte = Range("a65536").End(xlUp).Row 'Suche von unten die Letzte Volle Zelle
With Range("a65536").End(xlUp).Offset(2, 0)
Formel = "=summe(A1:A" & Lletzte & ")" 'Formel für die Summe
.FormulaLocal = Formel 'Formel zwei zeilen tiefer eintragen
End With
Application.EnableEvents = True
End Sub
Die Formel muss nicht vorher gelöscht werden.
Dies erledigt der code schon.
Und fügt die neue Formel mit einer leerzeile unten an die liste an.
Gruß aus Köln.
Rückmeldung obs hilft wäre nett.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
On Error GoTo ErrHandler
Application.EnableEvents = False
With Cells(Rows.Count, 1).End(xlUp)
If .HasFormula Then .ClearContents
End With
Cells(Rows.Count, 1).End(xlUp).Offset(2, 0).FormulaR1C1 = "=sum(r1c:r[-2]c)"
End If
ErrHandler:
Application.EnableEvents = True
End Sub
Niemals! Events, Meldungen etc ohne Fehlerbehandlung abschalten.
Gruß
Rudi
Aber löscht diese Programmzeile nicht alle mit Formeln belegten Zellen in der Spalte A ?
Nein. Es wird die letzte Zelle in A gelöscht, wenn sie eine Formel enthält.
Bei deinem Code hingegen wird die erste Zelle in A gelöscht, die eine Formel enthält.
Gruß
Rudi
dann auch mal den Mut besitzen die Fehler
was heißt hier Mut? Ist reine Gehässigkeit ;-)
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen