• ベストアンサー

自動でシートを作成するには?

ブックを開くと自動でシートを作成したいのですが、日付が21日になったら新しくシートを作成するようにするにはどうしたらよいでしょうか? 使用しているのはエクセル2003です。 VBAを使用し、月が替わるたびにシートを作成するようには出来たのですが、21日になるたびに作成する方法がわかりません。 VBA初心者です。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

どのようなタイミングでブックが開かれるのかわかりませんが(毎日?一日何回も?時々?祝祭日は?)、いずれにしろ作成するシート名は月に関連して自動生成されると想像します。 もしそうであれば… ブックオープン時にマクロを走らせて、 『その日の日付をチェックし、対応するシート名(21日で繰り上がる?)のシートがあればそのまま、無いときは作成する』 ということでよいのでは? 現在の方法が不明ですが、もしBVAで行っているなら、同じ日に複数回ブックを開いてもシートを自動作成しないように、シートの存在をチェックしていると思いますので、ほぼ同じままでいけるのでは? 21日を過ぎたら翌月のシートを作成するというのであれば、No.2様のようにDayが21日より大きければ、参照するシートの月を一月繰り上げてあげればよろしいかと。

--chico--
質問者

お礼

回答ありがとうございます。 解りやすい説明で助かりました。

その他の回答 (2)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

If 21 = Day(Date) Then sheet作成 End If これかな

--chico--
質問者

お礼

回答ありがとうございます。 早速やってみます。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

その日の日付が”21”であるかどうか取得し、21であって新しくシートを 作成していなければ作成するとか。 21日にブックを開かない(休み?)の時はどうするかはわかりませんけど。

--chico--
質問者

お礼

回答ありがとうございます。 21日が休日だったら・・・ 考えてませんでした。

関連するQ&A