• ベストアンサー

基本となるシートをコピーした際、シート名を今日の日付にしたい

こんばんわ。 EXCELでの質問なのですが・・・ 基本となるシートがあり、それを毎日コピーしてその日の情報を入力して使っています。 毎回毎回、シートコピー→シート名変更が大変です。 シートをコピーした際に自動的に日付を取得してシート名をつけるってことは出来ないのでしょうか? つまらない質問ですみませんが、知識のある方、ご教授願います。 よろしくお願いいたします。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >基本となるシートがあり、それを毎日コピーしてその日の情報を入力して使っています。 どこにあるのか分かりません。他のブックからシートコピーをどこに入れるのでしょうか。 任意の場所からコピーした時点から、シートの名前を、本日の日付にするまでというマクロは、難問のひとつではないでしょうか。つまり、新たにブック全体を監視するイベントを作るということだと思います。かなり大げさな内容になると思いますが、しばらく考えてみないと、分かりません。 せいぜい、今は、アクティブシートを本日の日付にするかどうかぐらいです。私は、ブック名は自動的に作るマクロは作っていますが、シート名をコピーしたときに変更するマクロは作ったことがありません。ふつう、キーボードマクロのショートカットで[090711]と、出力されますから、あまり気にしたことがありません。 '------------------------------------------- '標準モジュール '------------------------------------------- Sub SheetNameChange()  On Error Resume Next   ActiveSheet.Name = Format(Date, "yymmdd")  On Error GoTo 0 End Sub '------------------------------------------- ツールバーのユーザー設定から、コマンド・ボタンを設定するか、Alt + F8 のオプションで、ショートカットにでも入れてあげればよいと思います。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#3の回答者です。 今、読み返すと、ちょっと話が、質問の実際と離れつつあるような気がしました。 元の質問の内容が詳しく書かれていません。どうしても、質問が曖昧な場合は、私などは、最大レベルの問題を考えてしまいます。例えば、近所のスーパーに買いに出かけるようなレベルなのに、スーパーカーのスペックを考えてしまうのです。質問というのは、ある意味で回答者への挑戦状のようなものなのです。 もう一度、質問を確認してください。 [基本となるシートがあり] ---どこにあるのですか? [それを毎日コピーして]---どこにコピーするのですか?ブックのシートの最後ですか? [その日の情報を入力]---その日の情報というのは何ですか? [シートをコピーした際に自動的に]---どういう操作に対して自動的に発生させるのですか?コマンドボタンですか? [日付を取得してシート名をつける]---日付を取得というのは、何から取得するのですか? コンピュータ内部の日付のことですか?それとも、ワークシートのデータからですか?ワークシートのデータからなら、一体、どこからですか?

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

知識が十分で無いと、あることを「出来ない」というのは、非常に危険なんだが、 >シートをコピーした際に自動的に、はVBAのイベントと言う種類の 考えが必要の臭いがする。 下記(2)の操作を捉えるイベントがないとおもう(ここが本当に無いかどうか??)のでむつかしいのではないか。 (1)挿入ーワークシートのシート追加なら Private Sub Workbook_NewSheet(ByVal Sh As Object) MsgBox "シート挿入" Sh.Name = Format(Date, "yymmdd") & "シート" End Sub で実現できそう。 ただもう少し、1日内に2度やらないか、などのチェックも必要だろうが。自分だけが使う場合なら、2重命名の指摘エラーは出るので覚悟しとけばよいとも言える。 (2)「移動またはコピー」でやると、イベントに引っかからない。従ってシート名をVBAで変える機会が与えられない。 (3)メニューやツールバーボタンをクリックなどすると、(1)と同じシート名の変更をするのは、中身はSh.Name =・・で1行なんだが メニューやツールバーボタンの仕組みを作るのが、VBAやエクセルの中級以上の力が要ると思う。 従って質問者には難しいかなと思う。 勉強して、ボタンが作れれば、マクロ(前述のように中身は1行)の登録をすればよいだけ。 ただ変更対象シートをアクチブシートにするなど難しい面がある。 (2)をやると増えたシートがアクチブシートになるので、直ぐ名前を変えないといけない。何か操作後だと増えたシートがどれか割り出しが難しい。

全文を見る
すると、全ての回答が全文表示されます。
  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

>シートをコピーした際に自動的に日付を取得してシート名をつけるってことは出来ないのでしょうか? まず、現在の作業をマクロ記録する。 そうすればシートコピー/シート名変更のコードが得られます。 あとはシート名に本日の日付を採用する方法を考えれば良いですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルでシートをコピーしたら日付が進んでしまいました

    エクセルで日付を2009/04/01のように入力していたシートを シートでコピーところ、 そのシート内のどの日付も 4年と1日進んでしまった日付になってしまいました。 2009/4/1 は、2013/4/2 に 1969/11/20 は、1973/11/21 に それぞれなってしました。 書式を和暦での表示にしてあっても同様なことが起こるのですが、 これを防ぐにはどうしたらよいのでしょうか?  

  • シートコピーと値の転記 シート名変更マクロを

    エクセル2010で マクロのご教授をお願いいたします。 BOOK1の Sheet1 A1~A10に 数値1000が入力されているとして Sheet1のシートのコピーを作成 Sheet1にもどり A1~A3の値だけコピーして 作業列C1に 値を貼り付け A1~A10 をクリアーにしたのちに  ※↓が うまくいきません。 A1の値→ A8 A2の値→ A9 A3の値→ A10 に入力 させるマクロは どうなるでしょうか? マクロの記録で いろいろと やってみましたが どうも ※の部分が うまくいきません どう考えてもエクセルに対しての 理解不足だと思われますが、ご教授のほどお願いします。 おこなった自動マクロの記録は↓です。 マクロの記録開始する 名前 シートコピー Sheet1を右クリックして移動またコピー コピーを作成にチェックをいれ OK コピーシートが作成される。 Sheet1をクリックしなおして A1からA3をコピー  作業列として C1に 形式を選択して貼り付け 値 A1~A10を delete でクリア C1~C3を選択 コピー A8に 形式を選択して貼り付け 値 マクロの記録終了。 あと Sheet1をコピーするさいに シート名を前日の日付に自動的に変更できればと いいなと 考えておりますが できるのでしょうか? 例えば、本日でいえば シート名→ 0112 のような シート名を変更できればすてきだと おもいます。 どうぞ よろしくお願いします。

  • エクセルのシートを自動でコピー

    エクセルの2000を使用しています。 こんなことが出来るかどうか教えてください。 「原紙」というシートをコピーして自動的に6月だったら6月1日から30日までのシートを作成したいのです。シート名は6月なら20070601とか日にちのわかるような表示のシート名にしたいのです。 毎回コピーをとってシート名を変更しているのですが、これが結構手間がかかってしまします。 宜しくお願いします。

  • ハイパーリンクのシート間コピーについて

    Excelで「ハイパーリンク」を設定してシートをコピーした場合 セル範囲のシート名が変わりません コピーした場合、自動的にコピー先のシート名に変わるにはどうすればいいのでしょうか? 今は、1個1個シート名の変更をやっています。 リンクが多いと大変です。 よろしく

  • シート名を自動でつけたいのですが、助けてください

    大変困っておりまして、どなたか教えていただけませんでしょうか。 エクセル2003の1ファイルの中に sheet1 原稿というシート、2シートがあります。 1.sheet1 A1のセルに店舗の名前が入力されています。  店舗数は 40店舗あります。 2.原稿というシートをコピーして名前を変更していますが、店舗数が多いので、  名前を自動的にシート名に表示したいのです。 似たような質問が出ていたのですが どうも上手く出来ません。 急を要しておりまして、どなたか簡単に出来る方法を教えてください。

  • ハイパーリンクのシートコピー

    Excelで「ハイパーリンク」を設定してシートをコピーした場合 セル範囲のシート名が変わりません コピーした場合、自動的にコピー先のシート名に変わるにはどうすればいいのでしょうか? 今は、1個1個シート名の変更をやっています。 リンクが多いと大変です。 OS XP オフィス2010

  • Excel 違うBookのシートをコピーする

    Excelでわからないことがあり質問させていただきました。 原紙のBookに 資料のBookのシートをコピーさせたいのですが 資料Bookには シートが sheet1~sheet50まであり 原紙のBookにマクロのボタンやフォームを作成し 毎回資料のBookの違うシート名を選択しコピーをさせることは可能なのでしょうか? たとえば 原紙のシートに入力フォームを作り sheet名を入力 → 「コピー」のボタンを押すとコピーができる。 といった感じに・・・ フォームでなくてもリストなんかでもいいのですが・・・

  • シートをコピー、シート名を変更

    Windows8でExcel2000を使っています。 こういうマクロはどう書けばいいんでしょうか? 同一ファイル内で、シートを複数枚コピー。 複数選択したセルに入力された文字列を、上記でコピーされたシート名に反映したい。 「原本」というシート名のシートがあり、それを元に一年分の表を作りたいのですが 今は手で11枚コピーを作った後1枚ずつ名前変更でやっています。 シート名にしたい文字列は現在なら「2015年01月」~「2015年12月」です。 セルに「2015年01月」~「2015年12月」を入力、選択した後マクロ実行で シート名変更に反映できればありがたいです。

  • VBA、セルに入力された日付からシート名を変更

    あるセルに日付(例「2014/8/17」)と入力してあり、そのセルから日付を拾い、 日付が入力してあるシートではないシートのシート名を 日だけの名前(例「17日」)に変更したいのですが、どのように考えていいかわかりません。 よろしくお願いします。

  • エクセルVBAで、元になるファイルをコピーし、ファイル名を連続した日付

    エクセルVBAで、元になるファイルをコピーし、ファイル名を連続した日付としたいのですが、 ボタン一つで、ファイル名を、2010.1.1請求書.xls~2010.1.31請求書.xlsとして、 2010.1.1請求書のシート1のA1セルに、その日付2010.1.1を入力保存し、ファイルを連続作成する コードはどのようになるのでしょうか?  VBA初心者です。ご教授お願いします。

専門家に質問してみよう