Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23716 / 76738 ←次へ | 前へ→

【58383】Re:年間カレンダーで、祝日にマルをつけたい
発言  neptune  - 08/10/22(水) 21:31 -

引用なし
パスワード
   ▼たねこ さん:
こんにちは

それでは
>そもそも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
0 hits

【58370】年間カレンダーで、祝日にマルをつけたい たねこ 08/10/21(火) 18:53 質問
【58373】Re:年間カレンダーで、祝日にマルをつけたい neptune 08/10/21(火) 22:09 発言
【58381】Re:年間カレンダーで、祝日にマルをつけたい たねこ 08/10/22(水) 19:27 発言
【58383】Re:年間カレンダーで、祝日にマルをつけたい neptune 08/10/22(水) 21:31 発言

23716 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free