|
▼たねこ さん:
こんにちは
それでは
>そもそもisnumber(match)の関数が、正常に動作しません。
>全てfalse(祝日該当なし)になってしまいます。
検索の一例(サンプル)だけ。
'シートの祝祭日データを辞書に入れてしまうサンプル
private dic as object
Private Sub SetDic()
Set dic = CreateObject("scripting.dictionary")
'日付をKey、祝祭日名をItemにして辞書作成
dic.Add Format(Date, "yyyy/mm/dd"), "今日"
dic.Add Format(Date + 1, "yyyy/mm/dd"), "明日"
dic.Add Format(Date + 2, "yyyy/mm/dd"), "明後日"
End Sub
'日付から祝祭日をチェックする
'祝祭日なら祝祭日名、無い時は""を返す
Public Function SeachHoliday(pDate As Date) As String
Dim sRet As String
Dim sFind As String
If dic Is Nothing Then Call SetDic
sRet = ""
sFind = Format(pDate, "yyyy/mm/dd")
If dic.Exists(sFind) Then '存在する場合
sRet = dic(sFind)
End If
SeachHoliday = sRet
End Function
'動作テスト
Sub test()
Debug.Print SeachHoliday(Date)
End Sub
|
|