bräuchte Hilfe von Euch VBA-Profis! Bin VBA-Anfänger und habe mich schon quer durchs Netz gegoogelt aber keine Lösung gefunden.
Ich habe ein UserForm erstellt das mir ermöglicht einen neuen Datensatz jeweils am Ende einer Liste hinzuzufügen. In der sechsten Spalte der Liste werden Summen eingetragen (Textbox "Summe" in meinem UserForm). Nun soll jeweils am (variablen) Ende der Liste unter dieser Spalte eine Teilsumme stehen weil die Liste gefiltert wird.
Ich habe hierzu zwei verschiedene Varianten gefunden die aber jeweils nicht hundertprozentig funktionieren.
Hier mein Code:
Private Sub Datensatz_einfügen_Click() ' Button Datensatz anhängen
Rows("5:5").Copy
zeile = ActiveSheet.UsedRange.Rows.Count
Cells(zeile, 1).PasteSpecial
Application.CutCopyMode = False
Cells(zeile, 1).Value = SachbearbeiterName 'Sachbearbeiter Name
Cells(zeile, 2).Value = Aktenzeichen 'Aktenzeichen
Cells(zeile, 3).Value = DatumZuweisung 'Datum
Cells(zeile, 5).Value = SachbearbeiterNameXXXX 'Sachbearbeiter Name
Cells(zeile, 6).Value = CDbl(Summe) 'verfügbare Summe
SachbearbeiterName.Value = ""
Aktenzeichen.Value = ""
DatumZuweisung.Value = ""
SachbearbeiterNameXXXX.Value = ""
Summe.Value = "0,00"
Cells(zeile + 1, 6).FormulaR1C1 = "=SUBTOTAL(9,R[-22]C:R[-1]C)"
End Sub
Mit dieser Variante habe ich das Problem dass zwar summiert wird aber natürlich immer nur die letzten 22 Zeilen (hab die Formel über den Makrorekorder aufgezeichnet und eingefügt) weil ich dies ja als festen Wert vorgebe. Beim filtern wird die Zelle mit der Teilsumme aber richtigerweise immer unten angehängt.
Bei meiner Suche nach einer variablen Variante der subtotal-Formel bin ich auf dass hier gestossen:
' Cells(zeile + 1, 6) = Application.WorksheetFunction.Subtotal(9, Range("F:F"))
Hier wird nun richtigerweise die betroffene Spalte komplett summiert, egal wie viele Zeilen unten angehängt werden. ABER beim filtern verschwindet die Zelle mit der Teilsumme!
Wo liegt mein Fehler?
Vielen Dank schon mal im Voraus für Eure Antworten!
Gruß,
Sara