[[20040813112120]] 『毎日上書きされるシートから別シートで集計加工』(雪) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『毎日上書きされるシートから別シートで集計加工』(雪)

[毎日上書きされる入力シートから別シートで集計加工をしたい]

初心者の方に入力していただくシートのデータを別シートにため
て別の処理が出来るようなBookを作りたいと思っています。

毎日その入力シートに報告してもらったものを別のシートに
溜め込んで,月末に提出してもらって管理していきたいのですが、
毎日更新してしまうデータ(入力部分のデータは消えてしまう)
を別シートで一覧集計する方法がありましたら教えてください。

Accessのフォームで入力したものをテーブルへためていき、
こちらはクエリーで加工して別の書式や管理にそのデータを使う
イメージです。

入力対象の項目が250近くありますが、毎日入力するのはそのうちの
20〜30箇所になると思います。
対象項目が多いので初心者の方が入力するシートは入力しやすい、
見やすい表にしてその入力部分のシートしかさわらないようにし、
別シートで関数や簡単なマクロを使って加工したいと思います。

何かよい方法がありましたら教えてください。
バージョンはExcel2000、になります。よろしくお願いします。


 初心者相手なら、処理はマクロがよいと思います。

 >入力対象の項目が250近くありますが
 シート上の1行分(256列)で足りますか?

 もし足りるなら、入力させる列だけ表示すればよいと思います。

 仕様が詳しく分からないので、今はここまで。

 (INA)


 早速ありがとうございます。
 254項目でぎりぎり足りるので、先方の入力したものを
 別シート1行ずつに持ってきて加工しようと思っています。

 仕様なんですが(的確に表現できず申し訳ありません。)

 現在手書きで使用している作業報告書に極力近いフォーマット
 のものを入力フォームにしたいので

 対象業務A

 1F  作業内容(1,2,3等と入力)

 2F   〃

 3F   〃

 対象業務B

 1F  作業内容(1,2,3等と入力)

 2F   〃

 3F   〃
 ↓

 (実際にはA4の用紙に対象業務ごとに縦でなく
 バランスよく6つの分類の表が配置されています。)

 上のような対象業務ごとにグループ化されて、
 作業個所が指定してある表に作業内容の種類を
 数字などで毎日記入していってもらいたいのです。
 この作業内容を入れてもらう対象が254箇所になります。

 上のような仕様のフォームで入力したものを
 下記のように別シートでデータとしてためて、

   対象業務A-1F|対象業務A-2F|対象業務A-2F----(254列)

 8/1   2       3

 8/2           1                   4

 8/31

 日付ごとに一覧とした表を作成し、
 countifで作業内容ごとに集計したり、特定の場所や
 特定の作業内容だけをVlookUpなどで抽出して、別の
 管理書式に使用したいと考えています。

 うまく表現できず申し訳ありません。
 (改行もうまくいかず読みづらいものとなってしまい申し訳ありません。)
 ご指導いただければ幸いです。


 ↑
 ちょっと体裁を編集させていただきました。
 行の最初に半角スペースを入れと見易くなります。

  (INA)


 お手数おかけし申し訳ありません。


  まだ分からないところがあるのですが、
 >先方の入力したものを別シート1行ずつに持ってきて加工しようと思っています。
 「先方の入力したもの」とは、何ですか? Excelデータ?

 >作業報告書に極力近いフォーマットのものを入力フォームにしたいので
 どのような入力フォームがよいのでしょうか? 
 1行、254列を使うのではなく、入力が必要な項目(20〜30箇所)だけを
 表示させるのでしょうか・・?  

 対象業務A とか、1F,2Fとかの分類は、
 実際このとおりなのでしょうか?
 だとすると、入力が必要な項目として 
 対象業務Aとか対象業務Bとかを10項目くらい選択して、
 その中の各項目(1F,2F・・)に対し、入力するのでしょうか?

 入力の仕様さえ決まれば、別シートへの入力データの蓄積は容易だと思います。  
   
  (INA)


 何度もすみません。

>「先方の入力したもの」とは、何ですか? Excelデータ?
 

 はい。Excelに入力してもらおうと思っています。

>1行、254列を使うのではなく、入力が必要な項目(20〜30箇所)だけを

 表示させるのでしょうか・・? 
 
 254項目の作業の中で一日の作業が20項目〜30項目が業務対象になるため
 入力個所は254項目表示されていますが、実際に入力するのはその中の20項目〜
 30項目で、各項目に3〜5種類の作業内容を数字で入力してもらうことになります。

 現在はそれが1列ではなく、各対象業務のグループによって6つの表があり
 夫々に1F、2Fなどのフロアや作業個所が表示された表になっていますので
 現在の入力フォームから254項目すべてが1日1行に表示されるように
 安易に254項目の対象の作業内容の入力結果をセル指定で別シートへ持って
 くるよう指定してみたのですが…。

 ここで躓きました。
 先方に毎日入力用のシートに上書きしてもらうとすると、今のセル指定では
 日付が変わって、データも翌日のデータと入れ替わる?だけで蓄積はされて
 いきません。

 >入力の仕様さえ決まれば、別シートへの入力データの蓄積は容易だと思います。 

 別シートへの入力データを蓄積するにはどのようにすればよいのでしょうか。
 きっと簡単な方法なんだと思うのですが、思い当たらずおります。
 何卒お助けください。


 入力フォームの仕様については、ご自分で出来そうなので、
 転記のコツだけ。

 転記先シートSheet2のデータの最下行を求めます。

 Dim r as long

 with Worksheets("Sheet2")
    r = .Range("A65536").end(Xlup).Row + 1

    .Cells(r,1).Value = Worksheets("Sheet1").Range("A1").Value

 End with

  (INA)


 ありがとうございます。
 しかし、力不足で先ほどからいろいろ試してみているのですが
 なかなかうまくいきません。

 現在入力用のシートで入力されたものがSheet1の1列が見出しで
 A2に日付、B2から入力されたデータが反映されて表示されている
 状態です。

 この状態でSheet2にSheet1のデータをSheet2に更新して蓄積
 していくには、マクロで上記の指定をどのように組み入れて
 いけばよいのでしょうか。

 本当に何度も申し訳ありません
 よろしくお願いいたします。


 Sheet1 の A2 を  Sheet2 の A列 、
 Sheet1 の B2 を  Sheet2 の B列 ならば、

 Dim r as long

 with Worksheets("Sheet2")
    r = .Range("A65536").end(Xlup).Row + 1
    .Cells(r,1).Value = Worksheets("Sheet1").Range("A2").Value 
    .Cells(r,2).Value = Worksheets("Sheet1").Range("B2").Value 
 End with

 です。

  (INA)
 

出来ました。ありがとうございます。
これで、全ての列を指定して入力していけば大丈夫そうです。

もっともっと勉強していかなくてはと痛感しています。

今後とも何卒よろしくお願いいたします。


 セル範囲に規則性があるなら、コピーした方が簡単かつ高速です。

 Dim r as long

 with Worksheets("Sheet2")
    r = .Range("A65536").end(Xlup).Row + 1

    Worksheets("Sheet1").Range("A2:B2").Copy _
    Destination:= .Cells(r,2)
 End with

  (INA)


何度もすみません。
簡単な方法まで教えていただいて嬉しいです。
両方試してみたのですが、どちらも77のデータ以降表示され
ません。
何か原因がありますでしょうか。
週末あらためて勉強してみます。


 >何か原因がありますでしょうか。
 私には見えないあなたの作ったマクロに
 原因がある可能性が大きいです。

 ところで「77のデータ」って何でしょ?

  (INA)


 表示したいデータが254あるのは
 前記の通りなんですが、その77番目
 までしか表示されないもので…

 休み中に書式から再度見直してみます。

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

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.