• 締切済み

自動でファイル(Book)作成。

office2007です。 超初心者です。 いきなりですが、例えば、1月1日から一週間の数値データを 入力する表が「1月1日~」という名前のBookにあって、 一週間分のデータが入力し終わったら次週の頭の日付始まる 表があって名前も次週頭の日付で始まるBookを 自動で作成するような設定ってありますか? マクロですか?マクロでなくてもかまいませんので 教えてください。 お願いします。

みんなの回答

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

毎週、ファイルが増えていくデータの蓄積ですが、 これは改めた方が良いです。 ひとつのファイルで データシートに 日付 数値・・・ でひたすら縦方向に入力 表示のシートで ひとつのセルに日付入れると 1週間分が表示される。 ひとつのファイル、2つシートの構成です。 後々、週単位(或いは月単位)で数値のグラフ作って欲しい といわれた時などには現状のやり方では大変な作業に陥ってしまいますよ。 日付ごとにファイルを分けてデータを保存するやり方に 結構、初心者の方々はハマってしまうみたいです。 会社でしたら上司の方々に一度、相談してみてください。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

> マクロですか? 自動でやるならマクロしかないでしょう。 マクロがおわかりになるようですので、とりあえず現在のシート名から判断して次週頭の日付で始まるBookを自動で作成するコードを書いてみました。 お試しください。 Sub TEST() Dim x As String, fn As String 'xとfnは文字列と宣言 Dim dt As Date, dtは日付と宣言 ThisWorkbook.Save 'このBOOKを上書き保存 x = ThisWorkbook.Name 'このBOOKの名前をxに代入する dt = DateValue(Year(Date) & "年" & Left(x, InStr(x, "日"))) + 7 'BOOK名の日付+七日後をdtに代入 fn = Format(dt, "m月d日~") & ".xls" '新しい日付+~.xls をfnに代入 ThisWorkbook.SaveAs (fn) 'fnの名前で保存 End Sub

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

エクセルでは、1シートのデータに比べ、他シートのデータ、多数シートのデータ、多数ブックのデータ、になるにつれて集計他何もかも、やりにくくなるのを実感して無いね。エクセルの経験不足だと思う。 こういう質問のようなエクセル表の設計は危ない。 VBAでも自由に使えて、どうにでもなる人は別にしてね。 ーー シートをコピーしたり、とりあえず100個の白紙のシートは簡単に作れる。しかし100個のブックを作るは、操作を100回(回数減らす便法あるも)するほかには、VBAでやらざるをえないと思う。 まして各ブックに違う情報をセットするのは。 >自動で作成するような設定ってありますか エクセルで「設定」というのは、なんかもっと基礎的なレベルの話がほとんど。仕事の利用上ので役立つように、設定を何かしたら、思うようなシートが出来るなるなんて、期待しないほうが良い。 ーー >マクロですか?マクロでなくてもかまいませんので この表現もおかしい。マクロでなくてそれ以上自由に出来るものは何がある?。 ーーー まあ週ごとにシートを別にする。次週のシートは前週のシートをコピーして、修正を必要限にして考えるのが、次善ではないかな。 ーー 何かエクセルでフリーでそれに相応しいソフトが無いか探してほしいように思うが、なさそうだ。

関連するQ&A