AW: Ab einem Datum Formeln in Werte umwandeln
30.05.2006 19:28:02
Franz
Hallo Fritz,
eines der folgenden beiden Makros tuts.
Variante 1:
Kopiert alle Daten und fügt die Werte in die Zellen
Private Sub Workbook_Open()
' wandelt alle Formeln in Werte um wenn Datum in A1 kleiner als Heute ist.
Dim Datum As Range, wks As Worksheet
Set Datum = ThisWorkbook.Sheets("Daten").Range("A1")
If Not IsEmpty(Datum) And Datum.Value < Date Then
For Each wks In ThisWorkbook.Worksheets
With wks
.UsedRange.Copy
.Cells(.UsedRange.Row, .UsedRange.Column).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
.Activate
.Range("A1").Select
End With
Next wks
ThisWorkbook.Sheets("Daten").Activate
End If
End Sub
Variante 2:
sucht alle Zellen, deren Formel-Inhalte mit einem Gleichheitszeichen beginnen.
Kleines Problem: Zellen, deren Inhalt mit Hochkomme und Gleichheitszeichen beginnen ('=). Hier wird der Text-Inhalt in eine Formel verwandelt.
Private Sub Workbook_Open()
' wandelt alle Formeln in Werte um wenn Datum in A1 kleiner als Heute ist.
Dim Datum As Range, wks As Worksheet, Zelle As Range
Set Datum = ThisWorkbook.Sheets("Daten").Range("A1")
If Not IsEmpty(Datum) And Datum.Value < Date Then
For Each wks In ThisWorkbook.Worksheets
For Each Zelle In wks.UsedRange
If Not IsEmpty(Zelle) And Left(Zelle.Formula, 1) = "=" Then
Zelle.Value = Zelle.Value
End If
Next Zelle
Next wks
End If
End Sub
Gruß
Franz