先日来からの自作クラスのお話で恐縮だが、Yahoo!知恵袋にネタが転がっていたので、頭の体操がてらに作成してみた。
元ネタはこちら
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11189847436
なんでも株の取引の定められた日らしくて、3、6、9、12月の第2金曜日までの日数が必要らしい。
今回は普通に(?)セルに入力する関数として作成してみた。
コード
Public Function daysOf2ndFriday(d As Date) As Integer
Dim cal As DateCalculatorClass
Set cal = New DateCalculatorClass
Dim data(3) As Date
Dim i As Integer, m As Integer
For i = 0 To 3
m = i * 3 + 3
data(i) = cal.GetDatesOfFixedDay(6, Year(d), m)(1)
If d < data(i) Then
daysOf2ndFriday = cal.DiffDays(d, data(i))
Exit Function
End If
Next i
Set cal = Nothing
End Function
実行結果

ちなみに私は株はしないので、この関数、せっかく作ったけれどまったく必要がない…。
コメント