Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Datum über Inputbox ohne/mit Sonderzeichen
#11
Das einzige Problem an dem ich noch arbeite ist, wenn ich kein Datum eingebe (zB 3333) kommt eine Fehlermeldung
Sobald ich das gelöst habe, teile ich natürlich den Code
Antworten Top
#12
Hallo

das kriegen wir auch noch in den Griff, prüfe einfach die InputBox Eingabe auf Richtigkeit!  Zur Demo ein Prüfcode.
Ich weiss jetzt nicht ob die Eingabe mit oder ohne Punkt erfolgt?  Wenn du den Code verstehtst kannst du ihn selbst anpassen.

mfg  Gast



Code:
Sub Input_Prüfung()
Dim Eingabe As Variant, Monat, Tag
Eingabe = InputBox("Bitte Datum eingeben  (auch ohne Pukt möglich)" & vbLf & "01022021")
If Eingabe = Empty Then Exit Sub

If InStr(Eingabe, ".") = 0 Then
   'Format:  "01022021"
   Monat = CInt(Mid(Eingabe, 3, 2))
   Tag = CInt(Left(Eingabe, 2))
ElseIf InStr(Eingabe, ".") Then
   Tag = CInt(Left(Eingabe, InStr(Eingabe, ".") - 1))
   Monat = CInt(Mid(Eingabe, Len(Tag), 2))
   If Right(Monat, 1) = "." Then Monat = Left(Monat, Len(Monat) - 1)
End If

MsgBox Tag & " / " & Monat   'Eingabe Test

If Monat > 12 Then MsgBox "Der Monat stimmt nicht > 12"
If Tag > 31 Then MsgBox Tag & "Tag > 31 stimmt nicht"

Select Case Monat
    Case 2
       If Tag > 29 Then MsgBox Tag & "  Februar, nicht möglich!"
       If Tag = 29 Then MsgBox Tag & "  Februar, Schaltjahr?"
    Case 4, 6, 9, 11
       If Tag > 30 Then MsgBox Tag & "  Tag > 30, nicht möglich!"
End Select
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Eizi100
Antworten Top
#13
Moin!
Nur meine Meinung!
Dieser Thread ist ein typisches Beispiel dafür, wie man mit Macht etwas per VBA erledigen will, was man per GUI ratzfatz erledigt.
→ Rechtsklick auf Tabelle1, Verschieben/Kopieren
→ Doppelklick auf Tabellenreiter, Name eingeben

Mal ganz davon abgesehen, dass ich von Tagesblättern nicht viel halte, aber das ist ein anderes Thema.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#14
Danke Jungs 18

Habs mit eurer Hilfe hinbekommen. Besonders der Code von "Gast" hat mir sehr geholfen. Den Code traue ich mich nicht zu posten. Der ist extrem dilettantisch. Es kommen aber keine Fehlermeldungen mehr.  

@Ralf.. Ich bin auch kein Fan von Tagesaktuellen Blättern. Es gibt aber Bereiche, insbesonders das Transportwesen, da geht es nicht anders. Da gibt es saisonierte Züge (Schultage, Feiertage DB, Feiertage ÖBB, Feiertage Italien, Feiertage Tschechien, Samstag und Sonntag. Und dann auch noch die Baustellen). Auf diesen Blättern sind die Umläufe von dem deutschen und Österreichischen Nahverkehr der Bahn.
Und das mit dem manuellen Kopieren haben wir sowieso jahrelang gemacht. Nur dann den Reiter umbenennen und das Datum in AS1 ändern hält auf. Und wenn man 100 Seiten hat, dann suche mal die Kopiervorlage. Wenn einige Kollegen einfach nur kopieren ohne sauber zu arbeiten (Ich kann gerne die aktuelle Arbeitsmappe posten).  Ich habe mit der StrgTaste kopiert, weil man noch schneller ist und das Blatt gleich an die richtige Position verschieben kann. 
Es geht eigentlich mehr um unsere Bequemlichkeit. Beamte halt

Danke nochmal an Alle

LG
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste