Option Explicit
Sub DateAndTime()
' Displays the current date and time
Dim TheDate As String, TheTime As String
Dim Greeting As String
Dim FullName As String, FirstName As String
Dim SpaceInName As Long
TheDate = Format(Date, "Long Date")
TheTime = Format(Time, "Medium Time")
' Determine greeting based on time
Select Case Time
Case Is < 0.5: Greeting = "Good Morning, "
Case Is >= 0.7083: Greeting = "Good Evening, "
Case Else: Greeting = "Good Afternoon, "
End Select
' Append user's first name to greeting
FullName = Application.UserName
SpaceInName = InStr(1, FullName, " ", 1)
' Handle situation when name has no space
If SpaceInName = 0 Then SpaceInName = Len(FullName)
FirstName = Left(FullName, SpaceInName)
Greeting = Greeting & FirstName
' Show the message
MsgBox TheDate & vbCrLf & vbCrLf & "It's " & TheTime, vbOKOnly, Greeting
End Sub