Anzeige
Archiv - Navigation
1628to1632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Formal als Wert fixieren nachdem abgerechnet w

VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 13:48:40
Y
Hallo,
ich möchte gerne nachdem ich meine Abrechnung erledigt habe, die berechneten Formelwerte in Fixwerte übernehmen, um anschließend Änderungen nachvollziehen zu können.
Dazu wird nach Abrechnung die Zeile mit einem X gekennzeichnet in Spalte CE.
Wenn also diese Spalte ein X aufweist, soll die Formel durch den Fixwerte ersetzt werden.
Das Ersetzen habe ich schon als VBA, was auch funktioniert, nur die "wenn X" -Funktion fehlt bzw. funktioniert nicht. Kann mir hier jemand weiterhelfen?
Anbei der Code, Zeile 2 geht nicht, der Rest schon:
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("CE2:CE222") = "X" Then
Range("CW2:DA222").Value = Range("CW2:DA222").Value
End If
End Sub
Danke im Voraus, Y.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 14:22:54
UweD
Hallo
    If WorksheetFunction.CountIf(Range("CE2:CE222"), "X") > 0 Then
        Range("CW2:DA222").Value = Range("CW2:DA222").Value
    End If

nimmt Zählenwenn(...) &GT 0
LG UweD
Anzeige
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 14:43:46
Y
Hallo UweD,
ja das klappt schon mal, nur leider fixiert er natürlich jetzt den kompletten Bereich CW2:DA222.
Er soll aber wenn in CE2 ein "X" steht den Bereich CW2:DA2 fixieren und dann in Zeile 3, 4, .....222 springen.
Das geht dann scheinbar nicht mehr so einfach oder?
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 15:04:44
Daniel
Hi
Private Sub Worksheet_Change(ByVal Target As Range)
dim Zelle as range
if intersect(Target, Range("CE2:CE222")) is nothing then Exit Sub
for each Zelle in Intersect(Targt, Range("CE2:CE222"))
If Zelle.Value = "X" then
Application.EnableEvents = false
with Intersect(Zelle.EntireRow, Range("CW:DA"))
.Formula = .Value
end with
Application.EnableEvents = True
end if
next
End Sub
Gruß Daniel
Anzeige
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 15:50:06
Y
Lieber Daniel,
genau das ist es, SUPER vielen Dank für die Hilfe!
Eine kleine Frage habe ich noch: Gibt es sowas wie rückgängig machen, wenn man das X wieder aus CE nimmt, dass dann die Ursprungsformel wieder da steht?
Mag nur wissen ob das gehen würde....
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 16:06:44
UweD
HAllo
dann müsstest du dir die irgendwo merken (in einem anderen Blatt oder im Zellkommentar oder, wenn es in der Spalte immer die Gleiche ist, in Zeile 1,2 oder...
AW: VBA Formal als Wert fixieren nachdem abgerechnet w
26.06.2018 16:17:04
Y
Alles klar, brauch ich erstmal nicht, aber gut zu wissen.
Echt klasse, vielen Dank für die schnelle Hilfe und die weniger grauen Haare, die mir jetzt sprießen, hehe
LG, Y.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige