投稿/コメントを表示します。

小川先生

お世話になっております。
本動画の内容に関して質問がありますので、投稿させて頂きます。

Q1の課題に関して、google等で検索を行い以下のプログラムを作成しました。
(結果に関しては、問題無いと思います。)
Sub rensyu17()

    Dim cMonth As Long
    Dim cGyo As Long
    Dim d As String
'    Dim d As Date
    
    For cMonth = 1 To 12
        cGyo = 2
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = cMonth & "月"
        
        Range("A1").Value = "day"
        Range("B1").Value = "wkday"
        Range("C1").Value = "todo"
        Range("D1").Value = "comment"
        
        d = "2015/" & cMonth & "/1"
        
        Do While Month(d) = cMonth
            Range("A" & cGyo).Value = d
            Range("B" & cGyo).Value = WeekdayName(Weekday(d), False)
            d = DateAdd("d", 1, d)
            cGyo = cGyo + 1
        Loop
        Columns("A:A").EntireColumn.AutoFit
    Next
End Sub

ここで気になったのが、変数"d"についてです。
この変数dに関しては、日付を格納する変数であるためDate型で宣言するのが妥当と思いましたが、
String型で実行しても問題なく実行できているように思われます。

詳しくは調べていないのですが、文字型を日付型に変換するには、CDate という関数を使うようですが、
本プログラムにおいては、CDateは使用しておりません。

これは、日付に関して、d="2015/1/1"のような記載をすれば、string型であったとしても、date型として
扱っているということなのでしょうか?
2018/03/14 06:51