プロが教える店舗&オフィスのセキュリティ対策術

よろしくお願いします。
日次毎の製造表を作っています。
毎日作る物が違うのでシート1にひな形としての表があります。
で、作った物を記録としてシート2に残したいと思っています。
ひな形の表の内容ですが
A1に日付、B1に会社名、C1に商品名、D1に製造個数を打ち込んでいきます。一日3品~8品と日によって作る数が違います。ですので、表は最高の8品分が入るように枠線で囲ってあります。A1~D8まで罫線で囲ってあります(A1は日付なのでA8までセルで結合してありますが)
今の自分のレベルではコピー&ペーストしてシート2に記録していくしかないと思いますが、もっとマクロとか使っていい方法がないかと思うのですが。
質問の内容をまとめますと・・・
シート1にあるひな形として表の値をシート2に時系列として記録していきたいです。欲しい値は日付、会社名、商品名、製造個数です。空白行に順次記録されていくような形にしたいです。
月曜は3品、火曜は5品と日によって作る数が違いますので、品数の分だけを記録できるようにしたいです。8品分入る表が作ってありますが、空白の行は無視するような意味です。

わかりにくい質問だとは思いますが、いい方法がありましたら教えてください。

A 回答 (2件)

質問文章が長いが、短くかけるのでは。


シート1に入力したデータを、シート2のデータ最下行の次に、日々累積していきたい
というだけでしょう。
ーー
ただ誰でもやりたいとぶつかるケースなんだが
ーー
(1)そのためには、累積するキッカケ(1日の入力の終わりを)を伝える「イベント」というもののVBAの考え方。
(2)シート1の最終行を捉えるコード=>毎日この質問コーナーには出ている常套方法だが
(3)シート2の最終行を捉えるコード。(2)と同じ。
さえ判れば簡単。
ただ付帯して、他シートの参照、コピーなども使用経験が要る。
この質問は丸投げだが、まあコード例を書いておく。
ーーー
Sheet1にコマンドボタンを1つ貼り付け。
ダブルクリックして、VBE画面に出てくるコードの2行(Private・・とEnd)の間へ
Private Sub CommandButton1_Click()
d1 = Worksheets("Sheet1").Range("A100").End(xlUp).Row
MsgBox d1
d2 = Worksheets("Sheet2").Range("A65536").End(xlUp).Row
MsgBox d2
Worksheets("Sheet1").Range("A2:F" & d1).Copy Worksheets("Sheet2").Range("A" & d2 + 1)
End Sub
となるよう中間行をコピペ。
ーー
例データ  初日の入力
氏名年齢住所
a12北区
a23新宿区
d43品川区
f18港区
ーー
コマンドボタンをクリック
Sheet2は 初日なので上記と同じ
氏名年齢住所
a12北区
a23新宿区
d43品川区
f18港区
ーー
次の日の入力
Sheet1
氏名年齢住所
cc23川口市
ddff25杉並区
fds41江東区
入力完了後、コマンドボタンをクリック
Sheet2
氏名年齢住所
a12北区
a23新宿区
d43品川区
f18港区
cc23川口市
ddff25杉並区
fds41江東区
と累積される。
ーーー
コードの最後にシート1の入力範囲の値!を空白にするコードを入れるほうがよいかも。今回略。
ーーー
コードは行数も少なく、簡単そうに見えるが、小生なりの経験が詰まったものです。VBAは簡単だと思わないこと。
    • good
    • 0
この回答へのお礼

imogasiさん、ありがとうございます。
想像してた通りのが出来ました。
助かりました(^_^)

お礼日時:2008/07/21 16:03

何故か今日は同じようなアドバイスがしています。


シート2に
 A  B    C    D   
日付 会社名 商品名 製造個数
B列、C列には別途 一覧表を準備して入力規則を設定
日付は、入力作業をおこなったら自動で当日の日付がはいる
残りは、手入力で個数を入れる

シート1には
日付を入れると
その日に作った物の一覧表が雛形に表示される。

つまり、最初からシート2に入力した方が楽だと思います。
    • good
    • 0
この回答へのお礼

今回はimogasiさんのやり方でやってみたいと思います。
わかりづらい質問だったと思いますが、回答ありがとうございました。

お礼日時:2008/07/21 16:05

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