文字列の日付から当月の1日(初日)の曜日を表示する

<分類:値変換>
<使用例:文字列の日付(20190324)から当月1日の日付(20190301)の曜日(金)を表示する>
<プログラム例>

Sub 使用例()
   Dim date_moji As String
   Dim date_moji2 As String
   Dim rtn1 As String

   date_moji = "20190324"
   date_moji2 = Left(date_moji, 6) & "01"
   
   rtn1 = 共通_文字列の日付から曜日(date_moji2)

   MsgBox ("文字列の日付(" & date_moji & ")の当月1日(" & date_moji2 & ")は" & rtn1 & "曜日です")

End Sub

Function 共通_文字列の日付から曜日(date_moji As String) As String
'date_moji:対象文字列の日付
    
    Select Case Weekday(共通_cov_date_9d(date_moji))
           Case "1"
                共通_文字列の日付から曜日 = "日"
           Case "2"
                共通_文字列の日付から曜日 = "月"
           Case "3"
                共通_文字列の日付から曜日 = "火"
           Case "4"
                共通_文字列の日付から曜日 = "水"
           Case "5"
                共通_文字列の日付から曜日 = "木"
           Case "6"
                共通_文字列の日付から曜日 = "金"
           Case "7"
                共通_文字列の日付から曜日 = "土"
    End Select
    
End Function

Function 共通_cov_date_9d(p1 As String) As Date
    Dim d As Date
    d = Left(p1, 4) & "/" & Mid(p1, 5, 2) & "/" & Right(p1, 2)
    共通_cov_date_9d = (Format(d, "yyyy/mm/dd"))
End Function