Anzeige
Archiv - Navigation
1160to1164
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

Wo liegt der Fehler? Datum Gültigkeit

Wo liegt der Fehler? Datum Gültigkeit
Holger
Hallo,
ich schreibe gerade ein Makro, welches im Bereich von D13:D21 nur ein Datum als Eingabe akzeptiert.
Das Datum muss zwischen dem 1.1.2010 und dem aktuellen Datum liegen.
Leider bringt er beim Kompilieren einen Fehler, was habe ich falsch gemacht?
Sub AddValidation()
With Range("D3:D12").Validation
.Delete
.Add _
Type:=xlValidateDate, _
AlertStyle:=xlValidWarning, _
Operator:=xlBetween, _
Formula1:=#1/1/2010#, _
Formula2:=IsDate
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "CSDB Hinweis"
.InputMessage = "In dieser Zelle ist nur ein Datum erlaubt"
.ShowInput = True
.ErrorTitle = "CSDB Fehler"
.ErrorMessage = "Kein Datum eingegeben"
.ShowError = True
End With
End Sub

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

Betreff
Benutzer
Anzeige
AW: Wo liegt der Fehler? Datum Gültigkeit
15.06.2010 10:44:59
xr8k2
Hallo Holger,
Formula2:=IsDate
Isdate ist eine Funktion und kein Ausdruck. Was soll denn als Formula2 (Obergrenze Datum)eingetragen werden?
Gruß,
xr8k2
AW: Wo liegt der Fehler? Datum Gültigkeit
15.06.2010 10:46:32
Holger
Yep, es ist wie du sagst.
Anstatt ISDATE TODAY() einfügen und schon klappt die Sache.
ISDATE habe ich bis heute nicht kapiert was es genau macht!
So geht es ! Makro zur Gültigkeit / Datum
15.06.2010 10:45:16
Holger
Der Makro Recorder hat weiterholfen wobei dieser auch einen Fehler enthielt.
So also das Makro wie es funktioniert:
Sub AddValidation()
With Range("D3:D12").Validation
.Delete
.Add Type:=xlValidateDate, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="1/1/2010", Formula2:="=TODAY()"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "CSDB Hinweis"
.InputMessage = "In dieser Zelle ist nur ein Datum erlaubt"
.ShowInput = True
.ErrorTitle = "CSDB Fehler"
.ErrorMessage = "Kein Datum eingegeben"
.ShowError = True
End With
End Sub

Anzeige
Formula2
15.06.2010 10:48:14
CitizenX
Hallo Holger,
vermute mal das der Fehler bei:

Formula2:=IsDate
kommt.
eine Änderung in:

Formula2:=Date
sollte helfen.
viele Grüße
Steffen
An Steffen: Noch eine very important Frage
15.06.2010 10:58:18
Holger
Hi Steffen,
ich möchte eine zweite Gültigkeit noch einbauen und zwar darf nur ein x oder ein X eingegeben werden.
Wie ist denn eine Formel, um dies zu erreichen?
AW: An Steffen: Noch eine very important Frage
15.06.2010 11:51:51
CitizenX
Hallo Holger,
wenn die Gültigkeit mit den X-sen mit in die bestehende gepackt werden soll , ist das m.E so nicht möglich.
Dies ließe sich aber mittels VBA lösen, sie unteren Code.
kommt ins Arbeitsblatt
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D3:D12")) Is Nothing Then
Application.EnableEvents = False
Select Case Target.Value
    Case "x", "X"
    Target.Value = UCase(Target.Value)
    Case Is < CDate("01.01.2010"), Is > Date
    MsgBox " ungültiges Datum!"
    Target = ""
End Select
Application.EnableEvents = True
End If
End Sub

Grüße
Steffen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige