• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル:シートを増やす際の日付更新について)

エクセル:シートを増やす際の日付更新について

このQ&Aのポイント
  • エクセルのテクニックはほぼ素人の者ですが、日報や顧客管理シートを作成するためにマクロを利用し始めました。日報管理では、原本シートを作成し、シート追加ボタンを使って新しいシートを蓄積する方法が良いと考えます。しかし、日付の更新に関して困っています。シート名を日付に合わせた形で設定しようとしても、上手くいきません。シート名を変更する方法があれば教えてください。
  • エクセルで日報管理をするために、原本シートを作り、日々新しいシートを追加しています。しかし、日付の更新に困っています。シート名を日付に合わせた形で設定しようとしてもうまくいきません。手打ちでシート名を変更する方法があれば教えてください。
  • エクセルの日報管理で問題になっているのは、新しいシートの日付更新です。日報を蓄積するためには新しいシートを追加していく必要がありますが、シート名を日付に合わせるのがうまくいきません。シート名を手動で変更する方法があれば教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

マクロに「今日の日付」を生データとして記入させます。 sub macro1() ’シートを複写し、日付を記入する  worksheets("原本").copy after:=worksheets(worksheets.count)  range("A3") = date ’以下は原本シートに最初から指定しておけば不要  range("A3").numberformatlocal = "yyyy/mm/dd" ’シート名を変更する  on error goto errhandle  activesheet.name = format(date, "yyyymmdd")  exit sub errhandle: ’例えば「今日のシート」を2回作成しようとした  msgbox "ERROR" end sub

ken19730126
質問者

お礼

ご丁寧にありがとうございました。 もの凄く分かり易かったです♪ おかげさまで全て上手くゆきました(^_^)v

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

>原本には「TODAY関数」を入れており ですので、最初からA3セルに =TEXT(TODAY(),"yyyy年mm月dd日") と入れておいて文字列にしておく。 話が変わりますが、毎日(あるいは毎月)シートが増えていくことになっているのでしょうが、 これは、お勧めできないシート構成です。 シート数にも限界がありますし、仮に、過去の何年何月の日報を印刷してと頼まれた場合 シート数が多いと、探すだけでも一苦労になります。 初心者が、最初に失敗して、後から苦労するパターンの一つです。 シートの構成は、以下の2枚で考えてみてください。 1 データのシート  A   B 日付  内容・・・ といったように日付とデータをひたすら縦方向に入力していきます。 2 原本のシート を一枚だけ準備して、日付を入れると必要な内容が表示される仕組みを 作ります。

ken19730126
質問者

お礼

回答ありがとうございます! 関数で解決、非常に分かり易く初心者には有難い限りでしたm(__)m シートのアドバイスですが、2の原本のシートの日付入力欄に日付を入力するとデータのシートの内容を引っ張ってくるという認識でよいでしょうか? 頭の中のイメージではデータシートのB列以降の入力は行数が複数になり、 一日分が複数行に渡るイメージです。 その場合もA列の日付入力セルから次の日の入力欄までの空白の部分を認識してその日だけのデータを引っ張ってくることも可能でしょうか? 超初心者の質問ですみません。 またお時間のある時にお返事頂ければ幸いです。 どうぞよろしくお願いいたします。

  • f272
  • ベストアンサー率46% (8467/18126)
回答No.2

こういうこと? ActiveSheet.Name = Format(Range("A3"), "yyyymmdd")

ken19730126
質問者

お礼

ありがとうございました。