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.

Summenformel per VBA erweitern
#1
Hallo Zusammen,
ich hoffe Ihr könnt mir bei meinem Problem weiterhelfen.
Ihr findet im Anhang in der Excel-Datei (Vorlage) mit einer Makro die mit einen Button (Einfügen einer Zeile + Formel) aktiviert wird.
 
Diese wird immer aktiviert um eine neue Zeile einzufügen.
Zu meinem Problem:
Wenn ich z.B auf die Zelle A17 klicke und dann die Makro mit den Button aktiviere wird die Zeile eingefügt, aber leider bezieht die Summe in Zelle I9 und L9 nicht die neue Zeile mit ein.
Kann man die Makro so schreiben, dass die eingefügten Zeilen von den Summen in den jeweiligen Sektionsbereich die begrenzt wird (Eine Sektion ist durch die dicken Linien definiert) mit einbezogen werden können bei Aktivierung dieser Makro?

Das man die Makro so umschreibt: Suche bei der aktiven Zeile wo man die Makro ausführt nach oben (Spalte I und L) nach einer Summe und die erste die du findest -> sage diese Summe das die Zeile die eingefügt worden ist bei der Summenformel mit einbezogen werden soll.

Ich hoffe ich habe das nicht zu blöd für euch beschrieben.
Danke schon mal im Voraus für eure Hilfe.


Angehängte Dateien
.xlsm   Vorlage.xlsm (Größe: 35,3 KB / Downloads: 11)
Antworten Top
#2
Hallo Dietmar,

was du da vorhast, ist aus Excel- und EDV-Sicht voll daneben. So baut man eine Liste nicht auf. Da gehören:

1. keine Zwischenüberschriften rein.
2. werden Zeilen nicht irgendwo eingefügt, sondern am Ende der Liste eingefügt. Dann tragen sich da deine Formeln (oh Wunder!) automatisch ein. Die "richtige" Position bekommt deine Zeile durch sortieren.

Wenn du das beachtest, kommst du ganz ohne Makros aus. Das schreibt dir ein ganz großer Makro-Fan.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Zur Info, das ist die Fortsetzung von https://www.ms-office-forum.net/forum/sh...p?t=373803
Schöne Grüße
Berni
Antworten Top
#4
Schade, dass auf mein dortiges #7 nicht eingegangen wurde.
Das enthielt nämlich außer der Kritik (siehe Klaus-Dieter) auch einen Workaround …
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hallo Klaus-Dieter,
 
erstmal danke, dass Sie sich die Zeit genommen haben und mir schreiben.
 
Ich muss Ihnen leider mitteilen, dass ich von VBA Programmierung keine Ahnung habe.
Es kam bei mir auf Arbeit die Frage mit den Kollegen auf, ob so etwas möglich ist.
Ich habe mich dann bereiterklärt, mal die Frage in einen Forum zu stellen.
 
Diese Excel-Datei wird bei uns auf Arbeit für die Kalkulation verwendet.
Leider kann ich daher den Aufbau der Datei nicht ändern.
 
Ein Kollege hat auch schon eine Leer Zeile als letzte Zeile am Ende einer Sektion eingefügt, und rein geschrieben, dass man diese Zeile nicht löschen darf.
Somit bleibt man in der jeweiligen Sektion mit dem Cursor und die Summen beziehen immer die eingefügte Zeile mit ein.
 
Weil ich ja sehr neugierig bin: wäre es trotzdem möglich dass man bei einfügen eine Zeile der Summe sagen kann beziehe diese Zeile mit ein und wie ist das genau mit den Sortieren gemeint?

Danke für die Hilfe.
Antworten Top
#6
Hallo Dietmar,

in Foren ist es üblich, dass man sich duzt.

Zitat:Ich muss Ihnen leider mitteilen, dass ich von VBA Programmierung keine Ahnung habe.

Ich hatte nichts von einer VBA-Programmierung geschrieben. Ganz im Gegenteil!

Zitat:Diese Excel-Datei wird bei uns auf Arbeit für die Kalkulation verwendet.

Leider kann ich daher den Aufbau der Datei nicht ändern.

Das liest man mehrfach am Tag in den Foren. Mir fehlt die Bereitschaft, das zu akzeptieren. Wenn man in einem Forum um Hilfe bittet, muss man auch anerkennen, dass die Leute, die da Antworten, wissesn was sie schreiben. Wenn dann die Aussage kommt, dass der Listenaufbau Mist ist, dann ist das so. So wie jedes andere Programm, braucht auch Excel einen betimmten Listenaufbau, damit man die Standardfunktionen einsetzen kann. Daran gibt es nichts zu deuteln. Es kann auch niemand seine eigenen Regeln für die Teilnahme am Straßenverkehr aufstellen.

Zitat:wäre es trotzdem möglich dass man bei einfügen eine Zeile der Summe sagen kann beziehe diese Zeile mit ein

Normalerweise passt Excel das an.

Zitat:wie ist das genau mit den Sortieren gemeint?

Nun wenn man eine Liste hat, in der es, aus welchem Grund auch immer, Gruppierungen gibt, (zum Beispiel verschiedene Abteilungen), dann muss man die neuen Daten nicht bei der Abteilung einfügen, sondern kann sie, so wie es richtig wäre, am Ende der Liste anfügen. Danach wird die Gesamtliche nach Abteilungen sortiert, und die neue Zeile steht an der richtigen Stelle. 

Grundsätzlich kann man sagen: wenn eine Liste nicht so aufgebaut ist, dass man sie jederzeit über alle Zeilen sortieren kann, hat man beim Aufbau einen Fehler gemacht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#7
Hallo Klaus-Dieter,

danke für die Informationen.

Ich werde morgen meinen Kollegen Ihre Anmerkungen zukommen lassen.

Schade, dass unsere Vorstellungen mit der bestehenden Tabellenform nicht gut sind.
Wir sind halt auch keine Excel-Profis sondern nur Anwender.

Danke auch nochmal an RPP63.
Leider habe ich das mit den Zwischensummen was du geschrieben hast nicht verstanden.
Trotzdem Danke für deinen Hinweis.

Vielleicht findet trotzdem noch jemand eine Lösung ohne das man die Tabelle Umbauen muss.
Antworten Top
#8
Hallo Dietmar,

Code:
Sub TestEinfuegen()
  With ActiveCell.EntireRow
    If Len(.Cells(1, 2).Value) Then
      .Offset(-1).Copy
      .Offset(-1).Insert
      .Offset(-1).SpecialCells(2, 1) = 0
      .Offset(-1).SpecialCells(2, 2) = ""
      Cells(.Row - 1, 3).Value = "Neu"
      Application.CutCopyMode = False
    Else
      MsgBox "Bitte eine Zelle unterhalb eines Blockes markieren!"
    End If
  End With
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Dietmar Henning
Antworten Top
#9
Moin

Ich bin nicht der Kalkulations-Experte aber ich wäre der Meinung dass bei einer Kalkulation die Bestandteile feststehen. Es muss nichts hinzugefügt oder gelöscht werden.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#10
Hallo

Es auch eine andere Möglichkeit. Mache die Erfassung in 5 einzelnen Tabellen ohne VBA und füge sie mit Power Query danach zusammen so hast du dann alles in einer Tabelle.
Viele Grüße
PIVPQ
Antworten Top


Gehe zu:


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