Excel, alte Werte behalten?

4 Antworten

Gibt es eine Formel, die vergangene Monate schreibschützt

Nein, sowas kann keine Formel. Da musst Du Makros programmieren.

Ich sag' es ungern, weil man sich damit bei einem Teil der Excelianer, Calcianer und sonstigen Nutzern von anderen Tabellenkalkulationen extrem unbeliebt machen kann: Das Ganze klingt danach, dass das, was Ihr da macht, nichts mehr für Excel & Co. ist, sondern nach einer Datenbank schreit (ist aber jetzt nur so ein Bauchgefühl)


GutenTag2003  20.09.2024, 23:39

Nun ja, die Angaben lesen sich aber auch wie "Excel zu Fuß"

DonCredo  20.09.2024, 19:08

Ich teile das Bauchgefühl 😉

3pp6v5r3gf 
Beitragsersteller
 20.09.2024, 22:01
@DonCredo

Moin, Excel passt schon, kann mehr als man denkt; ChatGPT machts:

Private Sub Worksheet_Change(ByVal Target As Range)

  ' Definiere die Zelle, die den Ist-Wert enthält (A1 in diesem Beispiel)

  If Not Intersect(Target, Range("A1")) Is Nothing Then

    ' Stoppe Ereignisse, um Endlosschleifen zu vermeiden

    Application.EnableEvents = False

     

    ' Definiere die aktuelle Spalte basierend auf dem aktuellen Monat

    Dim currentMonth As Integer

    currentMonth = Month(Date) ' Gibt den aktuellen Monat zurück (1 = Januar, 12 = Dezember)

     

    ' Schleife durch die Monate (Zellen B1 bis M1)

    Dim i As Integer

    For i = 2 To 13 ' B1 bis M1 (2 = Spalte B, 13 = Spalte M)

      If i >= currentMonth + 1 Then

        Cells(1, i).Value = Range("A1").Value ' Aktualisiere den Wert ab dem aktuellen Monat

      End If

    Next i

     

    ' Aktiviere Ereignisse wieder

    Application.EnableEvents = True

  End If

End Sub

Gipfelstuermer  21.09.2024, 13:20
@3pp6v5r3gf

Die Frage war nach einer Formel nicht nach einem Script.

Und da hier unter den helfenden viele Excel in einem beruflichen Kontext benutzen erfreut sich VBA dort keiner großen Beliebtheit. Da man darüber Schadcode einschleusen kann. Ich habe in meinem aktuellen Unternehmen 2 VBA Codes programmiert. Dazu stand mein ITler die ganze Zeit hinter mir. Und hat exakt diese beiden freigegeben.

 aus der Mappe Einnahmen, wo händisch der Ist-Wert eingepflegt ist.
 Die Gutschriften werden in der Mappe Controlling händisch eingepflegt
Excel, alte Werte behalten?

Je nach Aufbau der Datei ist das selbstverständlich möglich ... und auch normal für Excel.

Probleme sehe ich in den "händischen" Eintragungen. Da wundert es mich, dass die Daten nicht aus vorhandenen (Controlling) automatisch übertragen/übernommen werden.

Grundsätzlich sollten in solch einer Datei die Soll/Ist-Werte monatlich aufgeführt werden sodass spätere Änderungen die vorhandenen nicht verändern sondern z.B. zunächst für kommende Monate fortgeführt werden.

Das ist der Fluch uns segen von Excel, das einzige was mir dazu einfallen würde wäre

  1. Blattberechnung auf Manuell stellen und im Anschluss nur noch die Berechnung der Blätter manuell anstoßen. So verändern sich die alten Daten nicht mehr
  2. Unter Optionen -> Formeln kannst du ganz oben rechts die Iterationsberechnung aktivieren, die maximale Anzahl auf 1 setzen.

Nun kannst du Zirkelbezüge nutzen.

Es wäre als zb. Denkbar das wenn 1 Monat abgeschlossen ist du in eine Zelle zb P1 abgerechnet schreibst.

Nun passt du die Formel in denen die Werte verarbeiten folgendermaßen an =wenn(p1<>"abgerechnet";{NORMALE BERECHNUNGSFORMEL};{Bezug auf sich selber})

ACHTUNG durch die Aktivierung der Iterationsberechnung kann die Excel Mappe evtl. sehr langsam werden. Kommt wie immer auf die Datenmengen an.

Alternative und besser Lösung:

Zu jedem Eintrag den du machst ein Datum hinzufügen, schon kannst du z.B. Mittels Summenprodukt nur jene Werte auswerten die vor einem bestimmten Datum liegen. Also einen betreffenden Wert nicht an eine Stelle schreiben sondern in eine Tabelle und jeder Eintrag bekommt eine neue Zelle.

Beispiel wie ich das meine:

Bild zum Beitrag

Würde mich über Rückmeldung freuen.

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby
 - (Formel, Microsoft Excel, Excel-Formel)

Ich würde die Ist-Werte um einen Datumsgültigkeitsbereich erweitern (zwei Spalten: Gültig ab, Gültig bis) und dann den jeweils gültigen Ist-Wert mit dem Datum zusammen abholen.