|
訂正です
>>セルA1に西暦を、A2に月、A3に曜日をそれぞれ入力すると、該当する日をA4以下に日数分表示させるようにしたいのですが・・・
>>
>>例
>>A1 2007
>>A2 4
>>A3 木
>>
>>と、入力して、イベントはなんでもいいです。上記のように、2007年4月の木曜日だと、該当する日は5日、12日、19日、26日と4日あるので、
>>
>>A4 5
>>A5 12
>>A6 19
>>A7 26
>
>一ヶ月の日付を全部調べたってたいしたことありませんが・・・、
>
>Sub main()
> Dim rw As Long
> Dim std As Date
> Dim edd As Date
> Dim warray As Variant
> warray = Array("日", "月", "火", "水", "木", "金", "土")
std = DateSerial([a1].Value, [a2].Value, 1)
std = std + _
Weekday(Application.Match([a3].Value, warray, 0), _
Weekday(std)) - 1
> edd = DateSerial([a1].Value, [a2].Value + 1, 0)
> rw = 4
> Do Until std > edd
> Cells(rw, 1).Value = Day(std)
> rw = rw + 1
> std = std + 7
> Loop
>End Sub
|
|