• 締切済み

自動でファイル(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/17068)
回答No.1

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

関連するQ&A

  • VBAで表作成中解らないことだらけ・・・ひとつずつ教えてください。

    ブックの種類 入力フォーム→日付を設定するフォーム画面です。 book→予め出来ている表(B5・B7・B9・B10・I5はタイトル?になります)    B  I   L ・・・ 4         日付・・・ 5 商品名 コード 曜日・・・ 6 商品名 コード 数値・・・ 7   小計    数値・・・ 8 商品名 コード 数値・・・ 9   小計    数値・・・ 10  合計    数値・・・ 入力データ→日付(曜日)、区分、商品名、商品数、コードが表になっています。 まず入力フォームで日付をセットします。 次にbookに入力フォームで入力した日付から1ヶ月間を表示させます。 (1) 日付設定表に設定日付をキーにして入力データブックより検索 (2) 検索日付が一致すれば、該当商品名、コード、区分、商品数等を取得 (3) 区分:1の場合は、該当日付の下の6行に、区分:2の場合は、8行に設定(同一商品の場合は加算) 但し、新しい商品の場合は行を追加→ 区分:1の場合は6行以降に、区分:2)の場合は8行以降に追加する (4)区分ごとの小計を表示 (5)合計を表示 (6)bookのみ処理した日付と時間で保存 (7)入力データのブックを閉じる。 出来ているところは日付を貼り付けるまでは教えてもらいながらですができています。 明日中とのことなのでよろしくお願いします。

  • ぜひ宜しくお願いします。

    VBAの組み方についてお教え下さい。宜しくお願いします。 ブックAのセルA1に日付が入力してあるブックが存在します。 1週間分のデータが入力されているブックが、毎週分存在します。 それぞれのブックののセルA1からG1には、1週間分の日付が入力されています。 それぞれの列の下には、それぞれの曜日のデータが入力されています。(A2からA100には月曜日のデータが、B2からB100には火曜日のデータが・・・のように) ここからお聞きしたい内容に移らせて頂きます。 ブックAのセルA1に入力されている日付と同じ日付が入力されているブックの対象データの列のデータを、ブックAのセルA2からA100にコピーしたいと考えてます。 現在の状況としては、ブックAのA1に入力された日付と同じ日付のデータがあるブックを開くところまでVBAをくみ、そこまでは問題なく出来ています。 (例えば、5月1日と入力すれば、5月1日の日付のあるブックが問題なく開きます) しかし、ここから先がうまくいかず、5月1日だけならデータをブックAのA2以降にコピーできるのですが、5月2日と入力すると、ブックは開くのですが、コピーされるのは5月1日のデータになってしまいます。 これをそれぞれの日付のデータをコピー出来るようにしたいのですが、どうしてもうまくいきません。 わかりにくい質問かもしれませんが、ぜひ宜しくお願いします。

  • VBA 表作成 再 続

    引き続きよろしくお願いします。 入力データというブックがありそこには B列に日付と曜日(日付の下)3行目~、 M列に区分(1か2が入力)3行目~、 T列に商品名3行目~、 AQ列に商品数3行目~、 BA列4行目~にコードが入力されています。 日付を入力したブックに 入力データにある、日付の部分を見て入力フォームで日付から1ヶ月の間の日付で一致すれば、商品名、コードを別ブックにある表に貼り付けます。日付部分の表に数値を商品名とコードにあわせて貼り付け、日付も、商品名もコードも同じであれば足してから表示します。 元にあるのはひとつ分しかはいらないので増えるたびに行数を挿入していくようにします。 最初にある表は    B   M   L ・・・ 4          日付・・・ 5          曜日・・・ 6  商品名 コード 数値・・・ 7          小計・・・ 8  商品名 コード 日付・・・ 9          小計・・・  10         合計・・・ という表になっています。上段には区分1、下段には区分2のものが入ります。 わかりますかね・・・;; 説明下手で申し訳ありません よろしくお願いします

  • 複数ファイルにマクロを自動で適応させたい。

    同じ形式で作成したデータがたくさんあります。 それに適応するマクロは作成したのですが、1つ1つマクロを適応するのが大変です。自動化する方法はないでしょうか? 下記のようにできたら便利です。 ファイルパス     適応するマクロの名前 C:\~~~~~     平均値の算出 C:\~~~~~     平均値の算出 C:\~~~~~     平均値の算出 C:\~~~~~     平均値の算出 のような感じで、適応するマクロを変えたり、データが変わっても使い続けられるように作れたら助かります。VBAは、勉強したてでファイルパスなどの部分に関しては、まったく知識がないため教えていただきたいです。よろしくお願いします。 ちなみにマクロは、個人用マクロブックにしまってあるものとします。OFFICEのバージョンは2003です。

  • エクセル保存時に自動で日付

    お世話になります。 エクセル2003で保存するときに、 ファイル名の頭に、あるセルの日付を毎回打たなくても自動でつけることってできますか? マクロでもかまいませんが。 たとえばA1に061212と入っていたら、 そのブックを保存するときに、061212 業務日報って自動で保存時の名前に出るように なるでしょうか?

  • Excel:グラフのデータ範囲を自動的に変える方法

    Excelで表からグラフを作るのですが、データ範囲を自動的に変える方法はないでしょうか? 表に1ヶ月間の日付がついてて、各人の仕事の予定数や消化数などを入力していって折れ線グラフを作ろうとしています。 表とグラフをあらかじめ作っておいて人数分コピペし、そろぞれの表に値を入れていったら折れ線が表示されるようにしました。 しかし、値が入力された期間は連続していたのですが時期がまちまちだった(月の中旬だけだったり後半だけだったり、日数も1週間~2週間程度だった)ため、空白の多い不格好なグラフになってしまいました。 そこで、値が入力された期間だけを自動的にデータ範囲に指定する方法はないでしょうか? たとえば、予定数が入力されてる期間+3日をデータ範囲にする、とか。 それができれば、その表を雛形にして毎月値だけを入力すればグラフが出来上がるようにしたいのですが。 マクロとかVBA?とかはできません。 それ以外で良い方法がありましたら教えてください。 よろしくお願いします。

  • Excel関数で自動でファイルを作成する方法

    皆さん宜しくお願い致します。 現在Office2013のExcelを使っています。 どんな事がしたいのかをご説明致します。 ■手元にあるExcelファイル ・データ入力用Excel ・見積書Excel ・請求書Excel データ入力用Excelの一番下の最後の行に顧客名を入力すると 見積書Excelと請求書Excelのファイルの宛名の部分に入力したデータが反映され、 更に、開かれた見積書Excelと請求書Excelに顧客名+日付の名前がついたファイルが作成される、 といった事は関数で実現可能でしょうか? 当方VBA、マクロはよくわかりません・・・。 どうか宜しくお願い致します。

  • エクセル、マクロを使って自動的に表を完成させる方法教えて下さい

    膨大なデーターを表に入力するのに途方に暮れています。マクロ(VBA?)で自動的に入力する方法を教えて下さい。 エクセルのセル、A1~G1まで、横方向に入力した計算式や、数値をマクロで記憶させて、 同じ処理を、2行~1000行まで自動で繰り返させたいと思っていますが、繰り返しの指示の書き方がわかりません。行によって入力する数値が異なる為、 コピペではできません。どなたか宜しくお願いします。

  • エクセル シート自動作成

    A1に2016年、B1に8月などと入力した時 A2~A15に日付を自動出力 B2~B15に曜日を自動出力 C2~C15に文字列&日付で自動表示するファイルを作成しました A1 2016年 B2 8月 A列  B列  C列 1日 月曜日 名前8月1日 2日 火曜日 名前8月2日 3日 水曜日 名前8月3日 ・ ・ C列のC2~C15の名前でシートを自動的に作成出るようにしたいのですが たとえばボタンを作成しボタンを押したときにシートが自動的に作成される または年と月を入れた際に自動的にシート作成されるようにしたいのですが さらにシートは原本を作っているのでそれをもとにコピーされるように したいのですが? どうすればいいでしょうか? お手数ですが宜しくお願いします。

  • 日付を基準に 形式の違う表にデータを反映させたい

    Windows8.1を使っています。 新しい職場でデータ入力等の仕事なのですが、同じデータの入力なのに、入力する表のパターンが違うため 二度手間・三度手間なことをしています。 1つの表に入力したデータが、自動で別の表に反映させることができないかと思い、ご相談です。 自分でなんとか・・・と思いましたが、どこをどうして良いのか分からず・・・よろしくお願いいたします。 エクセルで、全く形式の違う表が別々のBookにあります。 Book(1)のシート1には、A列をあけてB列に上から日付が並んでます。 この時、同じ日付のデータ入力が多数あるので、同じ日付で12行あります。 その下に翌日の日付が12行、またその下に12行・・・といった感じです。 Book(1)シート1    A  B    C      D      E  F  G   H   I     J     K    L  M・・ 1                    2014年7月                        2  ×  日付  得意先  現場  × ×  ×  名前1  ◆  ◆  名前2  ◆  ◆ ・・   3  ×  7/1   山    田中邸           ✓  TRUE  1  ✓  TRUE  1       4  ×  7/1   海    鈴木邸                       ✓   TRUE   2      5  ×  7/1   川    林邸            ✓  TRUE  2                  ~~~~~~~~ 14 ×  7/1                                            15 ×  7/2                                            16 ×  7/2                                            同じ日付12行に、得意先・現場を入力。名前の列にはチェックボックスを作り、チェックしたら右横のセルに反映します。7/1のH3にチェックをしたら、◆I3はTRUEになり、◆J3に「1」と反映するようにしました。 A・E・F・G列は、また違う書式に反映するデータを入力しているので、ここでは「×」としました。 同じ日付で12行ありますが、その日の現場数が5件なら5行、10件なら10行の入力です。 このシート1の表を基に、Book(1)のシート2には、シート1のチェックボックスの結果が反映するようにしました。 チェックボックスにチェックをしてTRUEになった行の「日付」「得意先」「現場」を、名前ごとに見られるような表です。(これは、作っておくと後々楽かなあという軽い気持ちで作りました。)   Book(1)シート2     A     B      C      D     E      F      G     H      I  ・・・   1 日付  得意先  現場   日付  得意先  現場  日付  得意先  現場・・・・  2 7/1      山    田中邸   7/1    山     田中邸                   3 7/1      川    林邸      7/1    海     鈴木邸                   4  5 ものすごく見づらくて分かりづらいと思いますが、Book(1)のシート1のH3にチェックをしたら、シート1のB3・C3・D3のデータが シート2のA・B・C列に反映します。シート1のK列にチェックしたら シート2のD・E・F列に。シート1のN列にチェックしたら シート2のG・H・I列に。 シート1の名前1さんのデータは、シート2のABC列、名前2さんはDEF列、名前3さんはGHI列、といった感じです。 問題はここからで、このBook(1)のデータをBook(2)の表に自動で反映できないものかと。。。 Book(2)の表がまた全然違う表なんです。 Book(2)     A      B     C     D      E      F      G      H    I    J    K   1 2 3   日付   曜日    名前1   名前2   名前3   名前4    名前5   名前6 4  6/21 5   6/22 6  6/23 ~~~~~~~~~ 14  7/1 15  7/2 16  7/3 このBook(2)の日付と名前の交わるセルに、Book(1)シート1もしくはシート2の「得意先」「現場」のデータを反映させたいのです。 Book(1)シート1もしくはシート2の日付と Book(2)の日付を連動させて・・・ ややこしいんですが、Book(1)は日付が1日~末日。Book(2)は21日~翌20日。 Book(1)は一月分のデータ(あるのはシート1・シート2くらい)、Book(2)は一年分のデータ(シートが月で分かれていて、シートが2014.1 2014.2 2014.3 2014.4・・・というようになっています。 Book(2)は昔からこの表でやってきたので、基本の形は変えたくないようです。 ただ、Book(2)の表は入力するセルが各一つしかないので、見た目は同じようにしながら作り直そうかと思ってます。 どうか、ご指導・アドバイス等お願いいたします。 知識がないばっかりに、分かりづらく、説明も下手くそですみません。 そして、画像の貼付に何度も失敗し、手入力の見づらい画面ですみません(T T))

専門家に質問してみよう