AW: Formeln löschen
26.04.2008 21:41:00
Jürgen
Das nachfolgende Makro geht davon aus, daß die Tabelle 10 Spalten hat, in denen Formeln vorkommen. Zunächst wird geprüft, ob ein bestimmtes Daum abgelaufen ist (im Beispiel der 1.5.2008), dann die letzte mit einer Eintragung gefüllte Zelle in Spalte 1 ermittelt, dann der zu untersuchende Bereich (Spalte A, Zeile 1 bis Spalte J, letzte Zeile) festgelegt. Innerhalb dieses Bereichs wird dann der Inhalt der Zellen gelöscht, die eine Formel enthalten.
Sub FormelnLöschen()
Dim Bereich As Range, intL As Integer, strDatum As String
strDatum = "01.05.2008" ' Datum, das abgelaufen sein muss
If Date > DateValue(strDatum) Then
intL = LetzteZeile(ActiveSheet, 1) 'ermittelt die letzte gefüllte Zelle in Spalte 1
Set Bereich = ActiveSheet.Range(Cells(1, 1), Cells(intL, 10))
For Each zelle In Bereich
If zelle.HasFormula Then
zelle.ClearContents 'Inhalt der Zelle wird gelöscht
End If
Next zelle
End If
End Sub
Function LetzteZeile(objWS As Object, byteCol As Byte)
If IsEmpty(objWS.Cells(Rows.Count, byteCol)) Then
LetzteZeile = objWS.Cells(Rows.Count, byteCol).End(xlUp).Row
Else
LetzteZeile = Rows.Count
End If
End Function