• ベストアンサー

Excel2003 シートの連続データ

シート別に日報を書いてます。 月が変わるごとに、シート名を変えて、とても面倒です。 シート1   1月1日と入力するだけで シート2   1月2日 シート3   1月3日 、 、 、 シート31  1月31日 と残り30枚のシートに自動入力できる方法を探しています。 わかる方が居れば教えて下さい。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.2・3です。 >その通りにやってみたのですが、何も反応しません。 >私が理解できてないだけかもしれません。 エラーも出ていないのですかね? 考えられる原因としては (1)Sheet1のシートモジュールになっているか? (2)Sheet1のA1セルに変化があった場合のみに実行されますので、 Sheet1のA1セルに日付を入力しているか? 上記の点を確認してみてください。 間違いなければ各Sheet名が変更されているはずなのですが・・・m(_ _)m

jzxjzx
質問者

お礼

何度も詳しい回答ありがとうございました。 なんとかできるようになりました。 感謝です。

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

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です。 たびたびごめんなさい。 Excel2003を見逃していました。 もしかすると前回のコードでは >EOMONTH の行でエラーになるかもしれません。 前回のコードは無視して↓のコードに変更してください。 (操作方法は前回同様です) Private Sub Worksheet_Change(ByVal Target As Range) Dim k As Long If Target.Address = "$A$1" And IsDate(Target) Then For k = 1 To Worksheets.Count If k <= Day(DateSerial(Year(Target), Month(Target) + 1, 0)) Then Worksheets(k).Name = Month(Target) & "月" & k & "日" Else Worksheets(k).Name = "Sheet" & k End If Next k End If End Sub ※ 今回は小の月の場合、最後のSheet名は単に「Sheet31」となるようにしています。 (2月はSheet29・Sheet30・Sheet31 となります。) どうも失礼しました。m(_ _)m

jzxjzx
質問者

お礼

その通りにやってみたのですが、何も反応しません。 私が理解できてないだけかもしれません。 回答ありがとうございました。

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

こんばんは! >シート1   1月1日と入力するだけで というコトですが、Sheet1のどこのセルに日付を入力するか不明ですので、 Sheet1のA1セルに日付を入力するとします。 VBAでの一例です。 尚、Sheet数は31Sheetあるという前提です。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Sheet1に戻りA1セルに好みの日付を入力してみてください。 これで各Sheet名が ○月○日 のようになるはずです。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim k As Long If Target.Address = "$A$1" And IsDate(Target) Then For k = 1 To Day(WorksheetFunction.EoMonth(Target, 0)) Worksheets(k).Name = Month(Target) & "月" & k & "日" Next k End If End Sub 'この行まで ※ 大の月・小の月の兼ね合いがありますが、 大の月の場合は31Sheetまで 小の月の場合は30Sheet目まで(2月はうるう年以外28Sheet目まで) となります。m(_ _)m

jzxjzx
質問者

お礼

その通りにやってみたのですが、何も反応しません。 私が理解できてないだけかもしれません。 回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>月が変わるごとに、シート名を変えて、とても面倒です。 は、たぶんに >日が変わるごとに、シート名を変えて、とても面倒です。 ですよね。 質問に対する回答ではありませんが この面倒を解決する一番の方法は データのシート 日付 項目1 項目2 項目3・・・ 1/1 1/2 ・・・・ と日報に必要な内容を縦方向に入力していく 日報のフォーマットの日付のセルに 1/1 と入れると その内容が日報のフォーマットに表示される仕組みを考える方が便利です。 シートが2枚のまま、ず~と使えます。 項目に金額など数値があれば、日ごとのグラフも作れます。 一度、このタイプで提出して会社の方に提案してみてください。 一目おかれることは間違いないですよ。

jzxjzx
質問者

お礼

いまいち私のレベルでは言ってる事が理解できませんでした。 回答なのでしょうか? 理解できなくてすいません。 回答ありがとうございました。

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

関連するQ&A

  • 【エクセル】データ用シートを作成し、すでにあるフォーマットへデータを反映させたい。

    お世話になります。 日報を簡単に作成できないか?と言われ、試行錯誤をしている最中です。 日報へは 当日の出荷数・今月の出荷累計・当日の入荷数・今月の入荷累計等 を入力しないといけません。 入力は、PCに触ることがあまりない人もいて、 「データ入力用のシートがあって、それを入力するだけで、 日報ができたら嬉しいんですが」とのリクエストが・・・。 日報にはすでにフォーマットがあります。 新しく「データ入力用」というシートを作成し、そこへ1日から31日までの 出入荷量等の表を作成し、累計も計算できるようにし、 それらのデータを例えば6月1日とフォーマットに日付を入力すると 6月1日のデータが日報のフォーマットへ自動で入力されるというような ことはできるのでしょうか? また、できるのであれば、どのようにしたらいいのか、アドバイスいただけると嬉しいです。 説明が上手にできずに申し訳ありませんが、よろしくお願いいたします。

  • 連続データから日付一致抽出し別シートへ転記したい

    ひとつの処理として実行したいのですが、マクロ組み合わせがわかりません。。。・・どなたか教えてください ●エクセル シートAAA A  B    C     D    E    F 1 2月1日 データ → 2 2月1日 データ → 3 2月1日 ↓ 4 2月2日 5 2月2日 6 2月3日 7 2月4日 8 2月5日 ↓ ・1日の入力は、複数行あります ・このシートAAAはマスタデータとして保存したい。 月間連続して入力されます ・シートAAA内に設置されたマクロボタンで、1日1回(日報) 日付名シートで追加してゆく Private Sub CommandButton1_Click() Worksheets.Add(After:=Worksheets("シートAAA")) _ .Name = Format(Now(), "yymmdd") End Sub ・同日付シートがある場合は、上書き。一応確認のダイアログを表示  し、マクロエラーを回避したい ・追加シート名yymmddのデータは、シートAAA内で抽出された yymmddと一致する全行列データを ・追加日付名シートタブのほかにセル内にもわかりやすく日付を表示させたい ・同時に追加シートyymmddを別ブックにも新規追加転記させたい ・できればシートAAA内のボタン、ワンクリックで処理完了させたい ■簡潔に?。。 マスタシートにデータ入力 ↓ ボタンクリック、 日付シートが追加される マスタシートから、その日だけのデータを抽出し日報シートを 追加していきたい。また別ブックにも同内容で同時書き出し保存 ↓ お願いします

  • エクセルのシート間で連続した日付データを作りたい

    オートフィル機能をシート間の串刺しでやりたいと考えています。 現在、日付ごとに1日から31日までの31枚のシートがあります。 1枚目のシートのA1セルに1月1日と入力すると、その後30枚のシートのセルA1にそれぞれ1月2日~31日までの日付が自動で表示できるようにしたいのですが、どのようにすれば楽に処理できるのでしょうか? なお、A2セルには曜日も表示させる予定です。 ご存じの方がいらっしゃいましたら、ぜひお知恵を拝借させて下さい。

  • エクセルのシート毎に日付

    業務日報を作成しています。 1シート1日なので、1ヶ月30シート~31シートあります。 1ヶ月1ファイルです。 この全シートのA1に日付を入れたいのですが、毎日入力するとも 限らないので、最初から 2008年8月1日(金)のような日付を 入力したいのです。 その場合、1日分を入力したら2日以降31日まで入力になるような 方法はないでしょうか?

  • エクセルの操作

    エクセルで日付を入力する方法(連続で) 1シート1日の日付を 2つ目のシートに翌日の日付を続けて入力したいのですが。(たとえば1つ目のシート平成20年4月1日 2つ目のシート平成20年4月2日と・・・)365日分作りたいので1日1日入力するのはかなり面倒くさいのでなにかよい方法はないでしょうか。 1シート内だと日付を入力してセルをドラッグすると連続した日付が入力されるのはわかるのですがシートにまたがってやる方法がわかりません。教えてください。 ちなみに日報を作っています。

  • 複数シート日付自動入力

    エクセルで日報を作っております、1日から31日までの31枚のシートがひとつのブックの中にあり1日のシートのA1のセルに”1月1日”と入力すれば後の30枚のシートに自動で入力できる関数もしくはマクロがありませんでしょうか、曜日も表示したいです。

  • データの抽出

    再びエクセルの質問をします。 エクセルでデータベースを作っています。 データベースの合計金額を別シート(日報シート)に反映させたいのですがどんな関数を使えばいいのか分かりません。 データベースシートのB5~B204までには「現場名」が入力されていて、C5~AJ5までは費目別に合計金額が入力されています。C3~AJ3には費目(運搬費・施工図費・工事管理費など)が入力されています。 日報シートのA1~A26には費目が入力されていて、別シート(予算シート)のA1に現場名が入力されたら日報シートのB列に費目別に合計金額を反映させる関数を入力したいのですが・・・なにか良い関数がありましたらよろしくおねがいします。分かりづらい文章ですいません;;

  • エクセルのシート1データをシート2に自動的したい

    エクセルのシート1の日々入力されてくるセルのデータをシート2のセルに自動的に入れていく方法を教えてください。現在は、上記シート1のデータを別帳票のシート2のセルに関数「’X月’!XXX」と入力しています。参考画像を添付したのでご確認ください。

  • 日報のデータを月報へ

    sheet1からsheet10には1sheet1日の、日報データを,sheet11は1行1日で 日報データを記録して、月報としています。 sheet1のセルA2にデータを入れると同時にsheet11のセルD6に入力、sheet2のA2に入れるとsheet11のD7に入力したいのです、 どのように設定のか教えてください。

  • エクセルシート連動

    パソコン初心者で 分からず色々調べたのですが見つからなかったので質問です 例えばエクセルシートが1・2・3とあるとします そして先頭のシートのセルに1月1日と入れたら シート2シート3の同じセルに自動で1月2日・1月3日と なる方法ってありませんか? 週間で日別に計画シートを作成してるのですが 毎週打ち直すのが面倒で困ってます。

専門家に質問してみよう