IV目安箱投稿のルールはこちらをごらんください。ご意見は電子メールで承っています。「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。迷惑投稿防止のため、URLの入力を制限しています。【37】不特定な祝日を求めるエクセル関数とマクロ関数。11:29【38】文中間違い訂正。12:14【59】[管理者削除]【88】一応、全部?の祝日です。11:27【89】Re:一応、全部?の祝日です。13:50【146】カレンダーコントロールみたなような・・・。10:16【182】祝祭日も入れてみた。9:53【187】↑の注意点。12:44【221】祝日表をまとめてみた。9:45【227】Re:祝日表をまとめてみた。9:57【267】表に位置について。16:59【38】文中間違い訂正。-引用なしパスワードこの書き込みは管理者によって削除されました。18:41)【88】一応、全部?の祝日です。-引用なしパスワードB1に西暦年を入れるとその年の祝日がでます。春分秋分の求め方はわかりません。祝日で固定してはいけないところを固定していたらすみません。カレンダーを見て下さい。カレンダーを見て下さい。=DATE($B$1,12,31)【89】Re:一応、全部?の祝日です。-引用なしパスワードponponです。_INT(($B$1-1980)/4))))確か2100年までいけたと思います。-引用なしパスワード5/3の振替休日があるのか解らないけど(国民の休日とダブル)ダブって書いてもMATCHやCOUNTIFで、エラーかどうかや0より大きいかどうかで判定させると思うので複数あっても問題はないと思います。振替休日が発生する固定祝日は下記だけ見たいですから、こんな感じに別セルに休日を追加してやればいいと思います。2006/12/23(注)春分、秋分の日は、2006年の場合。-引用なしパスワード2003年以降からしか考えてないけど、カレンダーコントロールみたいな感じ?フォーム(UserForm1)クラス(Class1)標準モジュールを作って、各モジュールに下記コードをコピペ。その後、フォームをShowすればいいです。(フォームShowのコードは自分で書いてください。)フォーム上のコントロールは、自動で作ってくれます。全部いっしょに書き込もうとすると10000文字制限に引っかたので、標準モジュールのコードは、この下に書きます。ここは、フォームとクラスだけ。-引用なしパスワード全部いっしょに書き込もうとすると10000文字制限に引っかたので、標準モジュールのコードはこちらに書きます。-引用なしパスワード全ての月(曜を日含む、7×7マス)の位置を一々決めなければならない手間がありますが、マスの位置をの変則に好き勝手な場所に設定できるようにこんな感じにしてみました。B1セルに年号が入っているとします。年号の不具合チェックはしてません。祝日、振替休日も入れてません。土日だけ色を変えました。一応罫線も入ってます。'B1に年号が入っているとして。'B1が結合セルの左上に値すれば、結合セル可。Sub【182】祝祭日も入れてみた。-引用なしパスワードゴミが残っていたので再アップ。2006年に決まった?らしい、2007年から実行される?祝日の変更が、9月の秋分の日、第3月曜が絡むとどうなるのかわからなくて、昨年アップしたものを1度消しましたが、詳しくはやっぱり解りませんでした。(昨年のものとほとんど同じ改正された新国民の休日が反映されるのは、2008年の5月からみたいです。(2009年にも反映されている。)5月の新国民の休日判定は、なんとなく5/5が日曜〜水曜なら、6日に休みになるといった、よく解らない方法で判定してます。祝日が休日の場合、翌日に振り返ることができますが、翌日が祝日だった場合?最初の祝日を繰り越せるとかよく解りませんでした。いうことですので、こういった手法もあるということでお願いします。祝日の変更もしやすいと思います。間違いに気づいた方、修正お願いします。2003年以前の事は全く考えてません。B1に年号が入っているとして...(エラー処理は、入れてません。)セルB1に年号が入ってないとエラーになります。'B1に年号が入っているとして。'B1が結合セルの左上に値すれば、結合セル可。'日曜とのダブりは、無視。Function【187】↑の注意点。'11月と12月は位置をづらして入れ替えてあります上の「↑」が書いてある行は、コメントにしてください。このまま試すとエラーになります。-引用なしパスワード2008年のカレンダーを見て、勘違いしていたところです。GWDの定義も追加しておいてください。If【221】祝日表をまとめてみた。C4〜C29=DATE($B$1,1,1)=IF(WEEKDAY(C4,1)=1,C4+1,"")=DATE($B$1,1,IF(2>=WEEKDAY(DATE($B$1,1,1),1),2-WEEKDAY(DATE($B$1,1,1),1)+((2-1)*7)+1,8-WEEKDAY(DATE($B$1,1,1),1)+((2-1)*7)+2))=DATE($B$1,2,11)=IF(WEEKDAY(C7,1)=1,C7+1,"")=DATE($B$1,3,DAY(INT(20.8431+0.242194*($B$1-1980)-INT(($B$1-1980)/4))))=IF(WEEKDAY(C9,1)=1,C9+1,"")=DATE($B$1,4,29)=IF(WEEKDAY(C11,1)=1,C11+1,"")=DATE($B$1,5,3)=DATE($B$1,5,4)=DATE($B$1,5,5)=IF(WEEKDAY(C15,1)<4,C15+1,"")=DATE($B$1,7,IF(2>=WEEKDAY(DATE($B$1,7,1),1),2-WEEKDAY(DATE($B$1,7,1),1)+((3-1)*7)+1,8-WEEKDAY(DATE($B$1,7,1),1)+((3-1)*7)+2))=DATE($B$1,9,IF(2>=WEEKDAY(DATE($B$1,9,1),1),2-WEEKDAY(DATE($B$1,9,1),1)+((3-1)*7)+1,8-WEEKDAY(DATE($B$1,9,1),1)+((3-1)*7)+2))=IF(WEEKDAY(C20)=4,C20-1,"")=DATE($B$1,9,DAY(INT(23.2488+0.242194*($B$1-1980)-INT(($B$1-1980)/4))))=IF(WEEKDAY(C20,1)=1,C20+1,"")=DATE($B$1,10,IF(2>=WEEKDAY(DATE($B$1,10,1),1),2-WEEKDAY(DATE($B$1,10,1),1)+((2-1)*7)+1,8-WEEKDAY(DATE($B$1,10,1),1)+((2-1)*7)+2))=DATE($B$1,11,3)=IF(WEEKDAY(C23,1)=1,C23+1,"")=DATE($B$1,11,23)=IF(WEEKDAY(C25,1)=1,C25+1,"")=DATE($B$1,12,23)=IF(WEEKDAY(C27,1)=1,C27+1,"")=DATE($B$1,12,31)【227】Re:祝日表をまとめてみた。因みに曜日は簡単に取得できたりします。"aaa")これはアクセス、エクセル、VB共通です。エクセルのシート上の関数は=Text(Now,"aaa")になる特殊な場合もあります。【267】表に位置について。列や行を削除するなり、移動させれば良いです。参照先も自動で変更されます。