Anzeige
Archiv - Navigation
1584to1588
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

datum

datum
18.10.2017 20:37:52
Micha
Hallo...
Ich habe eine Tabelle, die nach bestimmtem Datum nicht mehr funktionieren darf.
in Spalten k1:k31 aller Arbeitsblätter sind Datum Vorhanden.
Ich habe es mit folgendem Code versucht. Es klappt leider nicht.
<pre>Sub Datumchek()
If DateValue(ActiveSheet.Range("K1:K31").Value) > 43101(sprich 1.1.2018) Then
ActiveSheet.Range("K1:K31") = "die Tabelle darf nicht mehr benutzt werden"
End If
End Sub</pre>
Ich kann kein VBA. Diesen Code habe ich aus dem Internet.
Weiß jemand, wie es geht, bzw. was ich falsch mache.
LG
Micha

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

Betreff
Datum
Anwender
Anzeige
AW: datum
19.10.2017 05:47:11
Hajo_Zi
Hallo Micha,
Du musst jede einzelne Zelle prüfen.
Oder

If WorksheetFunction.COUNTIF(#REF!,">="& "1.1.2018")>1 then


Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung. o.w.T."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
Anzeige
AW: datum
19.10.2017 10:23:16
mmat
Hallo,
dein Code produziert eine Fehlermeldung "Typen unverträglich", stimmts?
K1:K31 sind 31 einzelne Zellen, in denen ein Datum stehen kann. Was ist die Voraussetzung für Ungültigkeit? Wenn in einer davon ein Datum >43101 auftaucht oder in allen oder nur in einer bestimmten ?
Dann wirkt dein Code nur auf das aktuelle Blatt, die Mappe scheint aber mehrere zu haben. Sollen alle auf einmal untersucht werden?
vg, MM
AW: datum
19.10.2017 19:19:37
Micha
hallo mma!
danke für die schnelle Antwort.
Das Datum anderer Blätter sind für andere Monate in 2018 gedacht.
dieses Blatt, das ich im Moment meine, ist Januar.
Natürlich wenn Januar nicht funktioniert, funktionieren die anderen Blätter auch nicht mehr, weil die Daten jedes Monates von den Daten des davor liegenden Monats abhängen.
wäre gut, wenn ich den Code in ein Modul platzieren könnte, dann wären alle k1:k31 für das ganze ja automatisch gesperrt. Also alle Monate wären gesperrt.
LG
Micha
Anzeige
AW: datum
20.10.2017 10:47:31
mmat
Also schön, das sollte es tun
Sub hwds()
Dim d As Double
d = WorksheetFunction.CountIf(Range("K1:K31"), ">=" + "43101")
If d > 0 Then ActiveSheet.Range("K1:K31") = "habe fertich"
End Sub

AW: datum
20.10.2017 15:57:35
Micha
Hallo noch mal....
Danke schon mal für die Antwort.
Es klappt bei mir leider nicht.
Ich habe den Code einmal auf das Blatt Januar(weil Januar der Beginn vom Rest ist) geschrieben, und einmal in Modul. Dann habe ich das Datum in der Tabelle erhöht, Es passiert nicht.
Die Tabelle funktionier nach wie vor.
LG
AW: datum
23.10.2017 09:49:30
mmat
Der Code muß in ein "normales" Modul, damit er auf allen Arbeitsblättern funktioniert. So wie das im Moment dasteht, wird er nicht automatisch ausgeführt.
Damit er automatisch ausgeführt wird ist einiges zu ergänzen:

Rem Im Codemodul jedes Arbeitsblatts
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Target, Range("K1:K31")) Is Nothing) Then hwds Me
End Sub
Rem In einem allgemeinen Modul
Option Explicit
Sub hwds(ws As Worksheet)
Dim d As Double
d = WorksheetFunction.CountIf(ws.Range("K1:K31"), ">=" + "43101")
If d > 0 Then
Application.EnableEvents = False
ws.Range("K1:K31") = "habe fertich"
Application.EnableEvents = True
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige