Worksheet_Change - alter Wert + neuer Wert
Beate
Hallo Stephan,
Step by step:
-------------------------------------------------------------------------------------
füge folgenden Code (wirkt sich auf A1 aus) ins Codefenster der Tabelle:
Dim oldvalue As Double
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
On Error GoTo fixit
Application.EnableEvents = False
Target.Value = 1 * Target.Value + oldvalue
oldvalue = Target.Value
fixit:
Application.EnableEvents = True
End If
End Sub
-----------------------------------------------------------------------------------
Füge ins Codefenster "dieseArbeitsmappe" folgenden Code, dann speichern und schließen, ab dem nächsten Dateistart steht der alte Wert dann z.V. (bei mir jedenfalls):
Private Sub Workbook_Open()
Worksheets("Tabelle1").Range("$A$1").Value = Worksheets("Tabelle1").Range("$A$1").Value
End Sub
Kopiere die Codes rüber sonst hast du nachher Fehler wegen scheinbarer (wegen Seitenbegrenzung hier) aber nicht existenter Zeilenumbrüche.
----------------------------------------------------------------------------------
Wenn du das ganze für Bereich/e, Spalte/n, Zeile/n gelten soll, musst du im Worksheet_Change Makro die If-Zeile ändern und im Workbook_Open den Range-Bereich an beiden Stellen anpassen.
Hier ein paar Beispiele:
Spalte B: If Target.Column = 2 Then
Für Spalte A:D und Zeile 1-9: If Target.Column
Mehr Beispiele kannst du dir eigentlich bei anderen Worksheet_Change oder aber auch bei Worksheet_SelectionChange Makros angeln, wenn du hier im Forum suchst.
Ein Teil solcher Codes findest du hier unter Services/Die Excel-FAQ/Ereignis. Wenn du nicht klar kommst, schreib mal, auf welchen Bereich es sich bei dir auswirken soll oder lad eine Beispieldatei hoch.
Übrigens Danke für die Blumen.
Beate