Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1632to1636
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

Abhängig vom Datum, Formeln durch Werte ersetzen

Abhängig vom Datum, Formeln durch Werte ersetzen
24.07.2018 13:30:57
Acaz
Hallo Profis,
ich versuche seit geraumer Zeit einen Ansatz für mein Problem zu finden, komme aber mit meinen bescheidenen VBA-Kenntnissen nicht weiter.
Vielleicht hat hier jemand Lust zu helfen :-)...
Ich möchte abhängig vom Datum bei bestimmte Tabellenblättern die Formeln durch Werte ersetzen.
Theoretisch habe ich es mir so vorgestellt:
Zuordnung:
Sheet1 = 01.05.2018
Sheet2 = 01.06.2018
usw. immer mit + 1 Monat
Dann soll praktisch anhand der Zuordnung geprüft werden, ob die Sheets größer als Datum Heute + 45 Tage sind. Falls ja, sollen alle Formeln durch Werte ersetzt werden.
Eine Beispieldatei findet ihr hier:
https://www.herber.de/bbs/user/122854.xlsx
Vielen Dank im Voraus für das Interesse!
MfG,
Acaz

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Als Schubser in die richtige Richtung...
24.07.2018 14:03:44
Michael
Acaz,
...zB so:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet, c As Range
For Each Ws In Wb.Worksheets
If CDate(Ws.Range("A1")) > Date + 45 Then
For Each c In Ws.UsedRange.SpecialCells(xlCellTypeFormulas)
c.Value = c.Value
Next c
End If
Next Ws
Set Wb = Nothing: Set Ws = Nothing: Set c = Nothing
End Sub
...wenn (!) Du auf den jeweiligen Blättern in einer Zelle das jeweilige Kriteriums-Datum einträgst; denn bezogen auf Deine Bsp-Datei ist aus den Blättern selbst nicht ersichtlich, ob es sich um ein Blatt "01.05.18" oder "01.06.18" handelt. In meinem Code-Bsp gehe ich davon aus, dass in Zelle A1 jedes Blattes das Ausgangsdatum steht (also etwa "01.05.18"); das Makro geht alle Blätter durch und vergleicht dann diesen Zellwert mit dem heutigen Datum (also Datum des Makro-Durchlaufs) + 45 Tage und ersetzt ggf. die Formeln mit Werten.
LG
Michael
Anzeige
AW: Als Schubser in die richtige Richtung...
24.07.2018 16:49:32
Acaz
Hallo Michael,
vielen Dank für den Schubser :-)
Klappt wunderbar, nur leider ist das aufgrund meines Aufbaus etwas problematisch auf eine Zelle zu verweisen.
Ich versuche nochmals präziser zu formulieren, auch weil du es angemerkt hast, dass es aus meiner Bsp-Datei nicht hervorging, wie die Zuordnung erfolgen soll.
Ich möchte in VBA festlegen, dass Tabelle1 (unabhängig vom Namen) = Datum X ist (z.B. 01.05.2018)
Für jedes weitere Tabellenblatt in der Arbeitsmappe soll sich dann der Monatswert erhöhen.
D.h. Tabelle2 (unabhängig von der Benennung) soll dann der Datumswert 01.06.2018 zugewiesen werden usw.
Der Rest klappt ja mit deinem Code bereits perfekt!
Würde mir echt sehr weiterhelfen, wenn du dafür ggf. noch einen Vorschlag hast.
MfG,
Acaz
Anzeige
AW: Naja...
24.07.2018 17:34:52
Michael
Acaz,
...vielleicht so (ist nicht sonderlich kreativ, ist mir schon zu spät heute ;-) ):
Sub a()
'Start-Datum für 1. Blatt, zB 01.05.2018
Const STARTD& = 1
Const STARTM& = 5
Const STARTY& = 2018
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim i&, c As Range
For i = 1 To Wb.Worksheets.Count
If DateSerial(STARTY, STARTM + i - 1, STARTD) > Date + 45 Then
With Wb.Worksheets(i)
For Each c In .UsedRange.SpecialCells(xlCellTypeFormulas)
c.Value = c.Value
Next c
End With
End If
Next i
Set Wb = Nothing: Set c = Nothing
End Sub
LG
Michael
Anzeige
AW: Naja...
24.07.2018 18:01:35
Acaz
Hallo nochmal Michael,
....kreativ genug für meine Anforderung, vielen Dank für deine schnelle Hilfe!!! :-)
Dann mal schönen Feierabend, allerspätestens jetzt hast du ihn dir verdient :-P :-D
MfG,
Acaz
Gern, Danke für die Rückmeldung, owT
26.07.2018 08:57:51
Michael

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige