OK, here is a somewhat more elaborate version.
Function BeforeFirstComma(MyString As String) As String
BeforeFirstComma = UCase(Trim(Left(MyString, InStr(MyString, ",") - 1)))
End Function
Function AfterFirstComma(MyString As String) As String
AfterFirstComma = Trim(Right(MyString, Len(MyString) - InStr(MyString, ",")))
End Function
Function DateOfBirth(MyRange As Range)
If InStr(MyRange, "-") > 0 And Len(MyRange) - Len(WorksheetFunction.Substitute(MyRange, "-", "")) = 1 Then
MyString = Trim(Left(MyRange, InStr(MyRange, "-") - 1))
DateOfBirth = "???"
If IsNumeric(MyString) Then
DateOfBirth = Val(MyString)
ElseIf IsDate(MyString) Then
DateOfBirth = Str(DateValue(MyString))
If Day(DateValue(MyString)) = 1 Then
'count numbers
For X = 1 To Len(MyString)
If IsNumeric(Mid(MyString, X, 1)) Then
NumberCount = NumberCount + 1
End If
Next X
If NumberCount < 5 Then
DateOfBirth = Format(DateValue(MyString), "mm/yyyy")
End If
End If
End If
Else
MyString = Trim(MyRange)
DateOfBirth = "???"
If IsNumeric(MyString) Then
DateOfBirth = Val(MyString)
ElseIf IsDate(MyString) Then
DateOfBirth = Str(DateValue(MyString))
End If
End If
End Function
Function DateOfDeath(MyRange As Range)
If InStr(MyRange, "-") > 0 And Len(MyRange) - Len(WorksheetFunction.Substitute(MyRange, "-", "")) = 1 Then
MyString = Trim(Right(MyRange, Len(MyRange) - InStr(MyRange, "-")))
DateOfDeath = "???"
If IsNumeric(MyString) Then
DateOfDeath = Val(MyString)
ElseIf IsDate(MyString) Then
DateOfDeath = Str(DateValue(MyString))
If Day(DateValue(MyString)) = 1 Then
'count numbers
For X = 1 To Len(MyString)
If IsNumeric(Mid(MyString, X, 1)) Then
NumberCount = NumberCount + 1
End If
Next X
If NumberCount < 5 Then
DateOfDeath = Format(DateValue(MyString), "mm/yyyy")
End If
End If
End If
Else
DateOfDeath = "???"
End If
End Function
Bookmarks