Unterschd.zwi.ExcelForml.TexT&VBAWorksht.func.Text
12.10.2015 18:59:29
ExtremeExceling
und der WorksheetFunction.Text(Now(), "TT.MM.JJJJ hh:mm:ss") in VBA
Ziel eine Funktion in VBA die Einfach das Aktuelle oder ein Datumswert wie es die Excel-Formel:
=TEXT(JETZT(); "TT.MM.JJJJ hh:mm:ss")
dastellen würde, gemäß der eingestellten Formatierung dastellt
Hat jemand eine einfache Idee?
ich freue mich auf Eure Antworten , insbesondere über VBA Beispiele :-)
Hier ein kleines VBA beispiel.
Public Function aktuelleUhrzeitTest() As String
Dim ergebnis As String
On Error Resume Next
ergebnis = Now() & vbCrLf 'bringt nicht das Gewünschte ergebnis
ergebnis = ergebnis & ("= Now()" & vbTab & ergebnis) & vbCrLf & vbCrLf
'so sollte es eigentlich aussehen
'Da nimmt VBA entweder nur Datum oder nur Uhrzeit
ergebnis = ergebnis & WorksheetFunction.Text(Now(), "TT.MM.JJJJ hh:mm:ss") & vbCrLf
ergebnis = ergebnis & (" WorksheetFunction.Text(Now(), ""TT.MM.JJJJ hh:mm:ss"")" & vbTab & _
_
ergebnis) & vbCrLf & vbCrLf
'das mischt VBA die ausgabe der Uhrzeit mit der Formatierungseinstellung, und gibt somit _
auch nicht das gewünschte Ergebnis zurück
ergebnis = ergebnis & Format(Now(), "TT.MM.JJJJ hh:mm:ss") & vbCrLf
ergebnis = ergebnis & ("=Format(Now(), ""TT.MM.JJJJ hh:mm:ss"")" & vbTab & ergebnis)
aktuelleUhrzeitTest = ergebnis
End Function
Public Function aktuelleUhrzeit()
'So sollte die Funktion eigentlich aussehen
aktuelleUhrzeit = WorksheetFunction.Text(Now(), "TT.MM.JJJJ hh:mm:ss")
End Function
Sub macheEtwas()
MsgBox (aktuelleUhrzeitTest)
'zum vergleich so arbeitet die Funktion Text in Excel, man sieht hier das die Methode mit _
der Formel arbeitet
'oder dierekt mit dem Format des Zellwertes
Range("A3").FormulaR1C1 = "=TEXT(NOW(), ""TT.MM.JJJJ hh:mm:ss"")"
MsgBox ("Der Wert aus der Excel zelle A3: " & Range("A3").Value)
End Sub