| 
    
     |  | ▼たねこ さん: こんにちは
 
 それでは
 >そもそも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
 
 
 |  |