Anzeige
Archiv - Navigation
960to964
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
960to964
960to964
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UF Datumsbegrenzung

UF Datumsbegrenzung
11.03.2008 17:16:19
Frederic
Hallo Leute,
ich bräuchte mal bitte Eure VBA Hilfe...
Ich hab folgenden Code, der mir mein Datum richtig bei EIngabe formatiert:

Private Sub budat_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Sheets("NR").Visible = True
Sheets("NR").Range("A2") = CDate(budat)
If budat.Tag = "1" = True Then Exit Sub
If Len(budat) = 2 Then
If InStr(budat, ".") = 0 Then budat = budat & "."
ElseIf Len(budat) = 5 Then
If Len(budat) - Len(Application.Substitute(budat, ".", "")) 


So weit so gut...
Nun möchte ich dass wenn z.B. in der ComboBox "period" der Monat "Februar" angeklickt wurde, auch nur Datumseingaben vom "01.02.2008-29.02.2008" möglich sind.
Geht das überhaupt, wie soll ich das abfragen? Über einen ermittelten Wert in einem Sheet?
Oder habt ihr hier was zur hand?
Tausend Dank im voraus für Eure Hilfen.
Greetz.Frederic

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UF Datumsbegrenzung
11.03.2008 17:17:00
Frederic
Sorry Teil 1 hatte noch gefehlt vom Code:

Private Sub budat_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case Asc("0") To Asc("9")
Case Asc(".")
If Len(budat) = 0 Then
KeyAscii = 0
Else
If Len(budat) - Len(Application.Substitute(budat, ".", "")) = 2 Then
KeyAscii = 0
ElseIf Len(budat) > 1 Then
If Mid(budat, Len(budat), 1) = "." Then KeyAscii = 0
Else
KeyAscii = Asc(".")
End If
End If
Case Else
KeyAscii = 0
End Select
End Sub


Greetz.Frederic

AW: UF Datumsbegrenzung
11.03.2008 17:29:07
Erich
Hallo Frederic,
wenn aus der ComboBox Monat und Jahr bereits feststehen, wäre die Eingabe des kompletten Datums
m. E. unnötige Doppelarbeit. Vorzugeben ist dann doch nur noch der Tag als ein- oder zweistellige Zahl.
Du müsstest dann nur noch prüfen, ob der Tag gültig ist (z. B. 30 im Februar).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: UF Datumsbegrenzung
11.03.2008 17:32:00
Frederic
Hallo Erich,
nein, in der ComboBox wird nur der Monat mitgegeben...
Ich hab jetzt noch was getestet kriegs aber net ganz hin:
hab im Sheet "NR" ne prüfung vorgenommen. Wenn im Feld A7="OK", dann darf ich die Textbox budat verlassen, sonst soll er eine msgbox bringen, die sagt, bitte richtiges datum eingeben...
Wo häng ich noch?

Private Sub budat_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Sheets("NR").Visible = True
Sheets("NR").Range("A2") = CDate(budat)
If budat.Tag = "1" = True Then Exit Sub
If Len(budat) = 2 Then
If InStr(budat, ".") = 0 Then budat = budat & "."
ElseIf Len(budat) = 5 Then
If Len(budat) - Len(Application.Substitute(budat, ".", "")) 


Greetz.Frederic

Anzeige
ERLEDIGT! AW: UF Datumsbegrenzung
11.03.2008 17:41:00
Frederic
Hallo Erich,
also habs erledigt...:-)
Ich hatte vergessen, dass ich noch ein Ereignis habe bei budat_exit.
Hier hab ich jetzt:

Private Sub budat_Exit(ByVal cancel As MSForms.ReturnBoolean)
If Sheets("NR").Range("A7") = "Achtung" Then
MsgBox "Attention - you can only chose a date smaller than your period!"
budat.Value = ""
End If
budat.BackColor = &H80000005 'Beim Verlassen der aktiven Textbox Farbe wieder auf Ursprung
End Sub


rein und perfekt!!!
Danke für Deine Bemühungen...du siehst, dank Euch Profis hab ich bisjetzt schon gut dazugelernt...Tausend Dank für all Eure Hilfen - Ihr seid wie immer Klasse!!
Greetz.Frederic

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige