Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
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

Bei Datumsänderung Zelle neu beschreiben

Bei Datumsänderung Zelle neu beschreiben
08.02.2021 16:05:49
Bernd
Hallo,
ich hatte hier schon mal ein Problem reingestellt wobei mir auch sehr geholfen wurde.
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1807420#1807420
Das hier war das eigentliche Problem:
Ich möchte, dass wenn in der Zelle D3 der erste des Monat erscheint, die Zelle E3 auf 0 gesetzt  _
wird.
An jedem ersten des Monats.
Durch die Schaltfläche E2 soll die 0 in eine 1 gewandelt werden können. Ist dies der Fall soll  _
am nächsten ersten des folgenden Monats in E3 wieder eine 0 erscheinen, solange bis dies wieder durch die Schaltfläche E2 geändert wird, soll dann aber wieder am 01. eine 0 werden, falls nicht bereits vorhanden.
MIt diesem Code hat Werner mir geholfen, der läuft auch Problemlos auf meinem PC zuhause mit Excel 2010
Private Sub Worksheet_Calculate()
Range("E3") = IIf(Day(Range("D3")) = 1, 0, Range("E3"))
End Sub
Und noch dieses Makro dazu
Public Sub Zurücksetzen()
Range("E3") = 1
End Sub
Diesen Code habe ich auf meinem Dienstrechner mit Excel 2016 ausprobiert.
Er läuft nicht.
Wenn ich, egal in welche Zelle und es ist wirklich egal in welche Zelle der ganzen Tabelle 1 ich
=HEUTE()

schreibe, bekomme ich einen Laufzeitfehler
Hier mal die Mappe
https://www.herber.de/bbs/user/143724.xlsm
Wie gesagt mit Excel 2010 läuft das so, mit 2016 bekomme Laufzeitfehler 28

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

Betreff
Datum
Anwender
Anzeige
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 16:13:02
Herbert_Grom
Hallo Bernd,
Private Sub Worksheet_Calculate()
Range("E3") = IIf(Day(Range("D3")) = 1, 0, Range("E3"))
End Sub
Das steht in deiner Tabelle im VBA-Bereich. Der überschreibt das "HEUTE()" jedes Mal. Schalte es mal ab, ob er dann immer noch meckert.
Servus
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 16:28:32
Bernd
Hallo Herbert,
wenn ich den Code auskommentiere tritt der Fehler nicht auf.
Aber genau dieser VBA Code speigelt ja die Funktion wieder die ich möchte.
Wenn in D3 das Datum mit Tag 1 beginnt soll E3 eine 0 bekommen.
Mit Excel 2010 geht das auch, nur bei Excel 2016 nicht.
Und egal in welche Zelle, und sei es z.B. A50, ich =HEUTE() schreine bekomme ich den Laufzeitfehler.
Aber nur bei Excel 2016
Anzeige
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 16:58:21
Herbert_Grom
Hallo Bernd,
dann probiers mal damit:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Day([F3]) = 1 Then [E3] = 0
Application.EnableEvents = True
End Sub
anstatt diesem:
Private Sub Worksheet_Calculate()
Range("E3") = IIf(Day(Range("D3")) = 1, 0, Range("E3"))
End Sub
Servus
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 17:10:42
Bernd
Vielen Dank Herbert,
schaut so aus als ob es funktioniert.
Kein Laufzeutfehler mehr.
Was sagen die eckigen Klammern aus ?
Bernd
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 17:36:43
Herbert_Grom
Die sind dazu da, dass schreibfaule, so wie ich, das "Range("F3")" nicht eintippen müssen! ;o)=)
Servus und danke für die Rückmeldung!
Anzeige
AW: Bei Datumsänderung Zelle neu beschreiben
08.02.2021 17:58:40
Bernd
Cool
vielen Dank nochmal
Gruß
Bernd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige