Date/Time Function

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Date/Time Function

#1

Beitrag von thowe »

Moin!

gebe ich folgendes in das Direktfenster [STRG] + [G] ein:
Excel 365

Code: Alles auswählen

?Date
?Time
erhalte ich
2
3
Warum?
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Re: Date/Time Function

#2

Beitrag von thowe »

Moin,
nochmals ich!

bei folgendem Code

Code: Alles auswählen


Sub TESTS_Date()
'
    Dim datDate As Date
    datDate = Date
    Debug.Print "als Date:"; datDate

    Debug.Print "nur Funktionsaufruf:"; Date
End Sub

erhalte ich folgendes Ergebnis:
als Date:01.01.1900
nur Funktionsaufruf: 2
ist strange...
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Re: GELÖST - Date/Time Function

#3

Beitrag von thowe »

Hallo!

ich glaube ich habe es gefunden ich hatte in:

Code: Alles auswählen

Public Enum eColumnSessions
    ecsNone = 0
    [_First] = 1
    Number = [_First]
    DateActual
    TimeActual
    ...
    [_Last]
End Enum
vorher statt DateActual nur Date stehen und statt "TimeActual " nur Time stehen.
Nach Änderung keine Probleme!

LG thowe
NS: kann man das hier auf :v: gelöst stellen?
Folgende Benutzer bedankten sich beim Autor thowe für den Beitrag:
d'r Bastler
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Date/Time Function

#4

Beitrag von d'r Bastler »

Moin thowe,

gerne hätte ich Dir geantwortet. "Dein Wunsch war mir Befehl :lol:" Aber leider ist die entsprechende Extension, die ich vorerst finden konnte so asbach uralt, dass sie selbst auf der Software hier nicht läuft. Meine Suche geht aber natürlich weiter, denn ein GELÖST-Button fehlt mir auch schon lange.

Ansonsten hoffentlich dann mit dem Update ... ach ja - und wie spät ist es jetzt und heute? :mrgreen:
Danke für die Lösung! (die wie eben getestet habe unter XL 2019/2021 nicht funktioniert. Schade. hätte man sich leicht als neuere Systax angewöhnen können)

lg
Folgende Benutzer bedankten sich beim Autor d'r Bastler für den Beitrag:
thowe
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Re: Date/Time Function

#5

Beitrag von thowe »

Hallo Heb,

was läuft da nicht?

Ich verwende hier die Enumeration für die Spalten. Kan so angewandt werden:

Code: Alles auswählen

With Worksheets("Tabelle1")
	.Cells(2, Number).Value = 1
	.Cells(2, DateActual).Value = Now()
	'....
End with

ACHTUNG Enumerationen beginnen mit "0". Daher siehst du auch in der Enumeration "ecsNone" = 0
Das [_First] [_Last] ist für das iterieren durch/über die Enumeration notwendig.

Wenn du zB das Format/die Ausgabe des Datum via Enumeration lösen willst, dann - so wie ich es verwende - zB:

Code: Alles auswählen

Enum eDateFormat
    'hier kein None!
    'man könnte auch schreiben FullDate = 0, OnlyDate = 1 ....
    'Das Wort Enumeration hat doch eine Bedeutung ...
    FullDate
    OnlyDate
    OnlyTime
    OnlyMonth
End Enum
und folgende Funktion:

Code: Alles auswählen

Option Explicit
Dim m_datTimestamp As Date


Function HELPERS_GetTimestamp(intDateFormat As Integer, Optional datDate As Date)
    
    If datDate = 0 Then
        m_datTimestamp = Now()
    Else
        m_datTimestamp = datDate
    End If
    Select Case intDateFormat
    
        Case 0 'FullDate
            HELPERS_GetTimestamp = m_datTimestamp
        Case 1 'Only Date
            HELPERS_GetTimestamp = Format(m_datTimestamp, "DD.MM.YYYY")
        Case 2 'Only Time
            HELPERS_GetTimestamp = Format(m_datTimestamp, "HH:MM:SS")
        Case 3 'Only Month
            HELPERS_GetTimestamp = Month(m_datTimestamp)
        Case Else 'FullDate
            HELPERS_GetTimestamp = m_datTimestamp
    End Select
    
End Function

Dann könnest du zB den ersten Code wie folgt schreiben:

Code: Alles auswählen

With Worksheets("Tabelle1")
	.Cells(2, Number).Value = 1
	.Cells(2, DateActual).Value = HELPERS_GetTimestamp(FullDate, Now())
	'oder a bissale kürzer .Cells(2, DateActual).Value = HELPERS_GetTimestamp(0, Now()) 'nur wer merkt sich schon die (E)Numeration...
	'....
End with


EDIT: ich bin mit der Date/Time Funktion nicht so bewandert, gibt es eine andere Möglichkeit NUR Datum oder NUR Zeit herauszukitzeln, statt mit "Format(....)"?
lg thowe
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Date/Time Function

#6

Beitrag von d'r Bastler »

Moin thowe,

na ? ActualTime oder ? ActualDate im Direktfenster ... funzt in meinen Versionen nicht.

Mit ? Time bzw. ? Date werden 15:28:17 und 10.09.2024 geliefert - ohne jede weitere Zeile mehr - natürlich auch aus dem Code. Beides auf einmal bekommst Du mit Now : 10.09.2024 15:29:39

Code: Alles auswählen

Sub test()
MsgBox Time & vbNewLine & Date & vbNewLine & Now
End Sub
lg
Zuletzt geändert von d'r Bastler am 10. Sep 2024, 15:33, insgesamt 2-mal geändert.
Folgende Benutzer bedankten sich beim Autor d'r Bastler für den Beitrag:
thowe
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
Benutzeravatar
thowe
Beiträge: 209
Registriert: 12. Sep 2022, 16:57
Hat sich bedankt: 79 Mal
Danksagung erhalten: 67 Mal
Kontaktdaten:

Re: Date/Time Function

#7

Beitrag von thowe »

*dongge*
lg
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste