• 締切済み

マクロで祝日を表示させる方法を教えてください。

マクロで祝日を表示させる方法を教えてください。 以下のようなマクロを組みたいのですが、どのようにすればいいかわかりません。 どなたか教えていただけないでしょうか。 シートのA1に休日祝日を表示させたい年数を入れる。(例 2011年) A2から下にずらーっと祝日と振替休日が表示される。(例 2011/1/1 元旦) マクロの扱いが全然慣れていないので解説などと一緒に回答していただければと思います。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

祝日のリストだで、日付を知っても、エクセルの利用では役に立たないでしょう。知るだけならメモ帳に記録するのとおなじでしょう。 エクセルのWORKDAY関数やその日が祝日に該当するか調べるVLOOKUP関数を勉強しないと役立たないのでは。 Googleでそれらの関数を調べ勉強のこと。VBAでやるだけのメリットはあまりない。日付から計算式で祝日は割り出せないのだから。 既製関数kt関数などを使わせてもらったほうが良い。これもGoogleで照会のこと。 これとてそういうときが来れば、改定しないとならず、忘れず新しいものでダウンロードが必要だろう。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

補足情報です。 アドインの紹介URLを落としていました。 kt関数アドイン http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm ちなみに、私の場合はそれぞれの祝日を関数で表示させてそのデータを祝日リストとして利用しています。 しかし、ハッピーマンデー制度が挿入されたことにより、特殊なケースでは(例:2015年の9月のシルバーウィーク)、祝日(祝日と祝日の間の国民の祝日)が抜け落ちる可能性がありますので利用時にその休日だけを別途追加するようにしています。

  • Turbo415
  • ベストアンサー率26% (2631/9774)
回答No.3

マクロだろうと関数だろうと、エクセルで自動でではしません。 なぜなら、祝日は増えたり日にちが変わったりするからです。曜日なら年月日を指定して関数で出ますけど。 極端な話5年後には祝日が増えているかもしれません。 たとえば、成人の日は20年前は1月15日ですが、いまは一月の第2月曜日です。 30年前にはみどりの日も海の日もありませんでした。みどりの日なんて昭和天皇の天皇誕生日が名前が変わった物だし、その後、4/29から5/4に移動しているし。だから、関数で一発で出て来ると言うことがないのです。 ですから、エクセルで出すなら自分で対応表を作ってそれをLOOKUP関数で引いてくるのが簡単です。 年を左にして一行に一年の表を自作してVlookup関数で引くのが一番です。 ただし、過去はこれで良いですが、来年以降は法律の改正などで祝日が増えたり移動したりすることがあるのであくまで参考になります。

  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.2

 直接の回答ではないのですが……  エクセルでカレンダー関係の作業を使用とすると、けっこう面倒なことがあります。  次のページはそのあたりを詳しく説明してありますので、じっくり読んで参考にしてみてください。 http://www.h3.dion.ne.jp/~sakatsu/CalendarTopic.htm  このページからいける http://www.h3.dion.ne.jp/~sakatsu/ktfunc_main.htm にある「kt祝日一覧表示ツール」などが使えそうです。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

どちらかというと、一般的にマクロよりも関数でそれぞれの祝日を表示させるほうが簡単な対応ですが、この場合でも各祝日を表示するには、かなり複雑な数式を利用する必要があります(法改正を含めて祝日を出すロジックが複雑なため初心者以外でもマクロで対応することはできないと思います)。 祝日の計算方法に詳しい方が作成されたアドインが提供されていますので、今回のような一覧を作成したいならそれを利用されてはいかがでしょう。

関連するQ&A