Wie kann ich es mit einem VBA code erreichen, daß sobald die Formel in der Zelle D7 errechnet wurde, das Ergebnis stehen bleibt, aber die Formel gelöscht oder außer Betrieb gesetzt wird?
Dann geht es mit D8, D9, D10 weiter.
Danke im Vorraus.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column 4 Then Exit Sub
If Target.Row
der Funktionelle Teile ist "Target.Formula = Target.Value", der Rest ist die Prüfung auf den richtigen Zellbereich
Gruß, Daniel
Private Sub Worksheet_Calculate()
Dim rngBereich As Range, iCalc As Integer
'Bereich wo sich die Formeln befinden, hier Spalte 1
Set rngBereich = Columns(1)
On Error GoTo KeineFormeln:
'sind keine Formeln vorhanden, kommt es zum Fehler
Set rngBereich = rngBereich.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
With Application
iCalc = .Calculation
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
' Formel wird durch festen Wert ersetzt,
' wenn diese als Ergebnis nicht leer liefert.
' Dies kann auch umgestellt oder erweitert werden
For Each rngBereich In rngBereich
If rngBereich <> "" Then rngBereich.Value = rngBereich.Value
Next rngBereich
.Calculation = iCalc
.ScreenUpdating = True
.EnableEvents = True
End With
KeineFormeln:
End Sub
Gruß Tino