03.06.2022, 10:20
Hallo,
ich benötige als VBA-Anfänger Hilfe.
Im Internet habe ich einen Code gefunden, der nach ein paar Anpassungen nun so aussieht:
Der Code funktioniert einwandfrei.
Problem ist nur, dass die Spalte L nicht immer eingeblendet ist. Dies hat zur Folge, dass die Formel nicht entfernt wird.
Als Lösung hatte ich gedacht die Formel zu berechnen und nur den Wert in die Zelle eintragen zu lassen.
Es gibt viele Beiträge zu diesem Thema, aber ich schaffe die Anpassung nicht.
Kann mir bitte jemand helfen?
Vielen Dank!
ich benötige als VBA-Anfänger Hilfe.
Im Internet habe ich einen Code gefunden, der nach ein paar Anpassungen nun so aussieht:
Code:
Public Sub Workbook_Open()
Dim Bereich As Range, rngZellen As Range
Application: Sheets("Test").Activate
Set Bereich = Intersect(Columns(12), Worksheets("Test").UsedRange.Offset(15, 0))
If Not Bereich Is Nothing Then
With Application
.ScreenUpdating = False
.EnableEvents = False
Set Bereich = Bereich.Offset(0, 1)
Bereich.FormulaR1C1 = "=If(RC[-1]<>"""",True,"""")"
On Error Resume Next
Set rngZellen = Bereich.SpecialCells(xlCellTypeFormulas, 13)
Bereich.Value = ""
On Error GoTo 0
If Not rngZellen Is Nothing Then
rngZellen.FormulaR1C1 = "=RC[-1]-TODAY()"
For Each rngZellen In Bereich.SpecialCells(xlCellTypeFormulas)
IfTrim(rngZellen.Text) <> "" Then rngZellen.Value = rngZellen.Value
Next
End If
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub
Der Code funktioniert einwandfrei.
Problem ist nur, dass die Spalte L nicht immer eingeblendet ist. Dies hat zur Folge, dass die Formel nicht entfernt wird.
Als Lösung hatte ich gedacht die Formel zu berechnen und nur den Wert in die Zelle eintragen zu lassen.
Es gibt viele Beiträge zu diesem Thema, aber ich schaffe die Anpassung nicht.
Kann mir bitte jemand helfen?
Vielen Dank!