wie kann ich in diesem Makro den Ausdruck d Gruß BerndR
Sub Datumsprüfung()
Dim d As Date
On Error GoTo fehler
Beginn:
d = InputBox("Geben Sie das Lieferdatum ein!", _
"Datum eingeben")
If IsDate(d) And d Sub Datumsprüfung()
Dim d As Date
On Error GoTo fehler
Beginn:
d = InputBox("Geben Sie das Lieferdatum ein!", _
"Datum eingeben")
If IsDate(d) And d Sub Datumsprüfung()
Dim d As Date
On Error GoTo fehler
Beginn:
d = InputBox("Geben Sie das Lieferdatum ein!", _
"Datum eingeben")
If Not IsDate(d) Then GoTo fehler
If IsDate(d) And Year(d) Year(Date) Then
MsgBox "Nur Eingaben im aktuellen Jahr möglich"
GoTo Beginn
End If
d = d + 14
MsgBox "Das Zahlungsziel ist der: " & d
Exit Sub
fehler:
MsgBox "Sie haben kein gültiges Datum eingegeben!"
GoTo Beginn
End Sub
Option Explicit
Sub Datumsprüfung()
Dim d As String
On Error GoTo fehler
Beginn:
d = InputBox("Geben Sie das Lieferdatum ein!", "Datum eingeben")
If StrPtr(d) = 0 Then Exit Sub 'Abbrechen gedrückt
If Not IsDate(d) Then GoTo fehler
'Abfrage ob es ein Datum ist und ob das Jahr das aktuelle Jahr ist
If IsDate(d) And Year(d) Year(Date) Then
MsgBox "Nur Eingaben im aktuellen Jahr möglich"
GoTo Beginn
End If
d = CDate(d) + 14 'String(d) in ein Datum umwandeln + 14 Tage
MsgBox "Das Zahlungsziel ist der: " & d
Exit Sub
fehler:
MsgBox "(" & d & ") ist kein gültiges Datum !", vbCritical, "Sie haben kein gültiges Datum _
eingegeben!"
GoTo Beginn
End Sub
Gruß MatthiasUm das aktuelle Jahr in Excel oder VBA zu verwenden, kannst Du verschiedene Methoden nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
In Excel:
=JAHR(HEUTE())In VBA:
Dim aktuellesJahr As Integer
aktuellesJahr = Year(Date)
MsgBox "Das aktuelle Jahr ist: " & aktuellesJahrEingabe eines Datums:
Dim d As Date
d = InputBox("Geben Sie das Lieferdatum ein:", "Datum eingeben")
If Year(d) <> Year(Date) Then
MsgBox "Nur Eingaben im aktuellen Jahr sind erlaubt."
End IfFehler: "Laufzeitfehler 13 - Typen unverträglich":
d = CDate(d)Fehler bei Datumseingabe:
On Error GoTo nicht ausgelöst. Verwende zur Fehlerbehandlung die IsDate-Funktion:
If Not IsDate(d) Then GoTo fehlerExcel-Formeln:
JAHR(HEUTE())-Formel kannst Du auch die Funktion JETZT() verwenden, um das aktuelle Jahr anzuzeigen:
=JAHR(JETZT())VBA-Alternative:
Year() verwenden:
Dim meinDatum As Date
meinDatum = #01/01/2023#
MsgBox Year(meinDatum) ' Gibt 2023 zurückAktuelles Jahr in eine Zelle einfügen:
=JAHR(HEUTE())VBA zur Datumsüberprüfung:
Sub Datumsprüfung()
Dim d As String
d = InputBox("Geben Sie das Lieferdatum ein:", "Datum eingeben")
If Not IsDate(d) Then
MsgBox "Ungültiges Datum!"
Exit Sub
End If
If Year(CDate(d)) <> Year(Date) Then
MsgBox "Nur Eingaben im aktuellen Jahr sind erlaubt."
Else
MsgBox "Das eingegebene Datum liegt im aktuellen Jahr."
End If
End SubJahr() in Kombination mit HEUTE(), um dynamisch das aktuelle Jahr in Berichten oder Kalkulationen anzuzeigen.Text verwenden:
=TEXT(JAHR(HEUTE()), "00")1. Wie kann ich das aktuelle Jahr automatisch in Excel einfügen?
Verwende die Formel =JAHR(HEUTE()), um das aktuelle Jahr in eine Zelle einzufügen.
2. Wie kann ich in VBA das Jahr aus einem Datum auslesen?
Nutze die Funktion Year(), um das Jahr aus einem Datum zu extrahieren, z.B. Year(Date) für das heutige Jahr.
3. Was kann ich tun, wenn ich beim Eingeben eines Datums einen Fehler erhalte?
Stelle sicher, dass Du die Eingabe mit IsDate() prüfst, um ungültige Datumsformate zu vermeiden.