▶︎▶︎▶︎【昭和の普通のおうちスタジオ】のウェブサイトは https://showa-studio.jp/ に移動しました。ここをクリックするとジャンプします。

【Excel VBA】SQ日を求めるオリジナル関数を作る

Excel VBA
スポンサーリンク

先日来からの自作クラスのお話で恐縮だが、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

実行結果

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

コメント

タイトルとURLをコピーしました