dポイントプレゼントキャンペーン実施中!

エクセルでの質問です。
運送会社に勤めてまして、乗務員の拘束時間を管理できる表の作成を頼まれました。
シート1には記入表があって、名前をリストで選択しデータ入力、そのデータを名前別に
シート2に蓄積し、保存されます。

シート1の記入表の名前を他の名前にリストから変更したら、記入表の数字はクリアにされますが
シート2には前回の名前のデータはそのまま保存。また名前を選択したら随時更新が出来るように
したいです。

名前のリストは500人程度です。
一人一人のシートを作成したのでは非常に時間がかかるため、マクロやVBAで効率よく分類、
またはそれ以外の方法がありましたら、ご教授いただければと思います。
よろしくお願いいたします。
表は画像にあります。

「エクセルでデータを別シートに表示する方法」の質問画像

A 回答 (2件)

質問の内容をまとめると


シート1(入力)にある社員番号(セルH5)と入力したデータ(最終行)の値を
シート2の最終行の下に追加していくマクロ と云ったことでしょうか?
仮に 別途 シート2(蓄積データ)シートを準備しているとします。
添付の入力のシート上に ボタン を作成して
Sub ボタン1_Click()
With Sheets("蓄積データ")
Last1 = .UsedRange.Rows.Count + 1
Last2 = Range("B7").End(xlDown).Row
.Range("A" & Last1).Value = Range("H5").Value
.Range("B" & Last1 & ":L" & Last1).Value = Range("A" & Last2 & ":K" & Last2).Value
End With
End Sub
といった簡単なコードでデータが蓄積されていきます。
*データが不充分であったり重複してボタンを押したりしたときのエラーは無視してあります。
あとは別途 入力シートと同じフォーマットで 社員番号をいれるとその人のデータの一覧がでるシートを作成していきます。

ところで
1、サーバー上に、この1つのエクセルファイルがあって 500人の方が 入力の作業を行うのでしょうか。
2、それぞれ500人の方のパソコンに このエクセルファイルがあって入力させるのでしょうか。
1の場合は、順番に入力作業を行っては閉じるの繰り返しなので運用に無理がありますし
2の場合も、個人で管理するということなので、管理上いかがかなと思いますが。
こうなってくると データベースやWebの機能を利用したシステムの開発が順当です。
個人レベルで云えば
ローカル上のサーバーに 蓄積データ を保存するためのテーブルを準備(Accessでも可能)
各自のパソコンに データを入力の作業を行うためのExcelファイルを配布
エクセルの作業を行ってボタンをおすと サーバー上のテーブルにデータが蓄積されていく
管理者は蓄積された データを取り出して 管理に必要なフォーマットに編集する。
と云った流れを考えます。
いずれにしても 500名ほどの規模で勤務管理という重要な作業ですので、きちんとした会社に
システム開発を委託するか
その為のチームを作ってシステム構築を行うことをお勧めします。
>乗務員の拘束時間を管理できる表の作成を頼まれました。
既に勤務管理のシステムがあるのであれば、そちらのデータを活用するなどを発想します。
就業管理を一から作成するとなると、個人レベルではないですよ。
    • good
    • 0
この回答へのお礼

ご教示有難う存じました。
やっぱり、データベースソフトを使用しないと無理みたいですね。

厚く御礼を申し上げ解決済みにさせて頂きます。

お礼日時:2010/11/21 15:11

私の調べたところでは、シート数は255が限度ですから、500人いれば1シートに1人のわりあてはできません。

行数は16384が限度ですから、1人当り32行でよければ1シートに500人分収められます。
これからすると100人程度に分けて表を作成するのがよさそうです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!