Clever-Excel-Forum

Normale Version: jeden Anfangsmonat einen Wert um 1 erhöhen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich suche eine Möglichkeit um einen Wert jeden Monat automatisch um den Wert 1 zu erhöhen.

Dabei sollte ich, wenn möglich das Dokument nicht jeden Monat öffnen müssen.


Also folgende Ausgangssituation:

In Spalte A sind IDs/Namen
In Spalte B ist ein Wert eingetragen, der sich zum ersten jedes Monats um 1 erhöhen soll.

Außerdem soll wenn möglich die Monatsspalte, wenn einmal eingetragen auch nicht mehr bearbeitbar sein, damit auch wirklich der Anfangs angegebene Wert richtig bleibt.
Die Tabelle soll aber trotzdem nach unten hin erweiterbar sein, falls neue IDs angelegt werden mit einer bestimmten Monatsanzahl, die sich dann ab dem angelegten Zeitpunkt auch jeden Monat automatisch um den Wert 1 erhöhen.

Ich bin derzeit noch ein bisschen überfragt, wie das funktionieren soll.


Viele Grüße
Hallo,

wenn du den Wert jeden Monat um eins erhöhen musst, dann bleibt dir nix anderes übrig, wie die Datei jeden Monat zu öffnen und den neuen Wert einzutragen. Ob du das manuell machst, oder über VBA ist erst mal egal...

Aber warum willst du diesen Wert überhaupt erhöhen, wenn doch eh keiner in die Datei schaut, bzw. kann die Aktualisierung erst dann erfolgen, wenn du die Datei sowieso das nächste mal öffnen musst. Dann könntest du das ganze so machen:


Code:
Zellwert = Anfangswert + vergangene Zeit in Monaten
Hi,


Zitat:Dabei sollte ich, wenn möglich das Dokument nicht jeden Monat öffnen müssen.

Zitat:Die Tabelle soll aber trotzdem nach unten hin erweiterbar sein, falls neue IDs angelegt werden mit einer bestimmten Monatsanzahl, die sich dann ab dem angelegten Zeitpunkt auch jeden Monat automatisch um den Wert 1 erhöhen.

Abgesehen davon, dass es wie Matthias schon schrieb, keinen Sinn macht eine Datei zu führen, die niemand öffnet, willst Du sie ja wohl doch ab und zu öffnen.

Auf jeden Fall solltest Du mal ein Muster vorstellen.
Danke für die Beiträge.

Die Datei wird natürlich geöffnet, halt in unregelmäßigen Abständen. Und es ist im bereich des Möglichen, dass die Datei nicht jeden Monat geöffnet wird. Daher die Absicherung des nicht Öffnens.

Die Lösung von dir Matthias würde allerdings erfordern, entweder das Anlagedatum des Wertes mit anzugeben da sonst die vergangene Zeit seit dem Anlegen nicht gemessen werden kann oder?

Ein Muster wäre zum Beispiel.

Tabelle besteht aus 2 Spalten:

ID    -    Monate
1              7
2             13
3             25


Nach 3 Monaten öffne ich die Datei erneut, dann sollte dort stehen:

ID    -    Monate
1             10
2             16
3             28

Nun lege ich zwei neue Werte an:

ID    -    Monate
1             10
2             16
3             28
4             9
5             14

Wenn ich die Datei im nächsten Monat wieder öffne sollte dann dort stehen

ID    -    Monate
1              11
2              17
3              29
4              10
5              15


Wenn ich Datei jeweils im gleichen Monat öffne soll sich natürlich nichts geändert.

Viele Grüße
Hi,

ohne ein Datum in der Zeile wird es mit Formeln gar nicht machbar sein. Mit VBA wird es auch ohne ein Startdatum nicht möglich sein.
Kann man dann eventuell eine Spalte C anlegen, welche automatisch mit dem Datum ausgefüllt wird, das zu dem zeitpunkt der Anlage des Wertes besteht?
Oder muss ich dieses manuell eintragen?
Eine Spalte C anlegen musst du nicht, da diese schon vorhanden ist... Ob du diese jedoch dafür nutzen kannst, kannst nur du entscheiden.

Ich wiederhole meine Aussage von vorhin: Du kannst das entweder manuell machen oder automatisiert über VBA. Beides ist möglich.
Ich korrigiere meine Aussage: Eine Tabellenspalte C.

Wie würde der VBA Code für das anlegen des jeweils heutigen Datums aussehen?
Kann mir dabei jemand helfen?

Viele Grüße
In das Worksheet Change Ereignis der folgende Code:
Code:
   With Target
       If .Column = 2 Then .Offset(0, 1).Value = Date
   End With
Hi,

ohne eine Mustertabelle wird es schwierig. Man könnte das über VBA regeln, aber ich habe keine Lust dazu noch eine Tabelle zu erstellen.
Seiten: 1 2 3