- ベストアンサー
在庫管理をするには。。
具体的な話しですが。。 倉庫契約をしているところに、出荷依頼をかけるためエクセルを使って出荷指示しています。 (どのセルには送り先住所、どのセルには商品、どのセルには数量というように入力するセルは一定で) 1シートで1指示を出しているので、ファイル数が膨大になってしまって、さらに何かあった時1枚1枚開いて見なければならないので大変です。 その一つ一つのファイルを、一つのシートに一覧表で表す方法ってありますか? また、そういったシステムを作るには動行った分野を(データベースだとかプログラミングだとか)勉強すればできるようになるのでしょうか? 初心者なのですみません、よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
こんばんわ。大変遅くなりました。サンプルマクロを作ってみました。次のように操作してみて下さい。 1.新規ブックを立ち上げ、A1に日付・B1に通し番号・C1に商品1・D1に数量1・E1に商品2・F1に数量2と入力する。 2.A列の書式を日付にする。 3.ALT+F11キーを押してVBE画面を開き、画面左上にあるVBAProjectの下にあるThisWorkbook二マウスポインターをあわせてダブルクリックし、右側の白い部分に下記のコードをコピー・ペーストする。 4.ブック名を「作業管理」として保存終了する。 5.データの入っているファイルを開き、メニューバーのファイル→開くを順にクリックし、ファイルの場所をローカルディスクにしてフォルダーを1個作成し、そのフォルダーの中へデータの入っているファイルをすべて移動する。 6.立ち上がっているブックをすべて保存終了し、作業管理ファイルを立ち上げる。 これで、あなた様のおやりになりたいことが実現できているはずです。 もし、不都合・お解りにならないことがありましたらご遠慮なくお知らせ下さい。 Private Sub Workbook_Open() Dim DirName As String Dim FileName As String Dim i As Integer Dim myRow As Integer DirName = "D:\作業指示\" FileName = Dir(DirName, 16) Do While Len(FileName) <> 0 On Error Resume Next Workbooks.Open FileName:=DirName & FileName Workbooks("作業管理.xls").Worksheets(1).Range("A1").CurrentRegion.Offset(1, 0).ClearContents For i = 1 To Workbooks(FileName).Worksheets.Count myRow = Workbooks("作業管理.xls").Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row Workbooks("作業管理.xls").Worksheets(1).Range("A" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("A1").Value Workbooks("作業管理.xls").Worksheets(1).Range("B" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("A2").Value Workbooks("作業管理.xls").Worksheets(1).Range("C" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("A4").Value Workbooks("作業管理.xls").Worksheets(1).Range("D" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("B4").Value Workbooks("作業管理.xls").Worksheets(1).Range("E" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("A5").Value Workbooks("作業管理.xls").Worksheets(1).Range("F" & myRow).Value _ = Workbooks(FileName).Worksheets(i).Range("B5").Value Next i FileName = Dir() Loop End Sub
その他の回答 (4)
- kazuhiko5681
- ベストアンサー率49% (79/159)
こんばんは。補足いただきまして有難うございます。 一つ質問させて下さい。 例えば、Sheet1、Sheet2、Sheet3の決まったセルに A1---日付 A2---通し番号 A4---商品1 B4---商品1の数量 A5---商品2 B5---商品2の数量 と何シートにも渡ってデータを入力しておられるようですが、このシートのデータを「一覧表」と名前をつけたファイルに移動後、削除してしまってはいけないのでしょうか。削除する・しないによってマクロの組み方が違ってきてしまいますので、その点につきまして再度お知らせ下さい。 お手数をおかけいたしますが、よろしくお願いいたします。
お礼
早速のお返事ありがとうございます。 移動後も削除されないようにしておきたいです。 また、Sheet1~3までつかってるものや、Sheet1だけのものなど、各ファイルのSheetの枚数が違っても大丈夫でしょうか? どうぞよろしくお願いします。
- kazuhiko5681
- ベストアンサー率49% (79/159)
はじめまして。あなた様のおやりになりたいことは、マクロを組めばエクセルでもある程度実行できます。もし私でよろしければサンプルマクロを組んでみたいと思います。ご希望の節は、データの項目名と入力されているセル番地とあなた様のおやりになりたいことを詳しく具体的にお知らせ下さい。 お手数をおかけいたします。よろしくお願いいたします。
お礼
ありがとうございます。 例えば、Sheet1、Sheet2、Sheet3の決まったセルに A1---日付 A2---通し番号 A4---商品1 B4---商品1の数量 A5---商品2 B5---商品2の数量 が入力してあるとします。 で、これが、Book1、Book2、Book3、、と沢山のファイルが日々増えていきます。 これを、「一覧表」と名前をつけたファイルに住所録みたいに A列には日付、B列には通し番号、C列には商品1、D列には商品1の数量、、というように手っ取り早くデータを移す方法を探しているのですが。。。。。 面倒くさいこと言ってすみません。よろしくお願いいたします。
- kougasha
- ベストアンサー率32% (34/105)
Excelだけでもある程度はできますね。 表示させたい一覧シートのセルに、他のブックのセル参照を書いてやれば表示できます。ただし、メンテナンス性には問題あるかな? ='C:\[Book1.xls]Sheet1'!$A$1 ↑参照するブック名 ExcelのVisualBasicEditorでプログラミングしてマクロが作れると少しは効率化できますね。 やりかたは本当にいろいろありますが、自作前提ならまずはその辺りからでしょうか。
お礼
ありがとうございます。マクロを勉強すればいいんですね。 少しずつ独学で始めてみます。
- cafedemocha
- ベストアンサー率29% (232/789)
Accessを使用すれば、データソースから引き出しますので、検索するのもプレビューするのも、抽出条件の設定で、如何様にも出来ますけどね 同じ書式であれば、極めて簡単に出来ますよ データを保存しておくテーブルと、そこにデータを入力しやすくするための、フォームを作成し、拾い出したいデータをパラメーターで指定するようなクエリーを作成、結果を表示するレポートで、出荷依頼書を作成してやれば、抽出条件に合ったデータ分、同じフォーマットで印刷する事も可能ですし、検索するのも、同じ様な方法で可能です Excelで複数シートを一覧表示させる方法は、出来なくは無いでしょうけど、一覧表示させても、スクロールが大きくなったり、縮尺率が大きくなったりして、見難いのではないでしょうか?
お礼
なるほど、Access使えたら便利なんですか。 ところが、私含め会社内や、取引先の倉庫もAccess使える人がいないんですよ。自分は勉強したとしても、相手が。。。。 やっぱデータ管理はAccessですよね。そう、聞いたことはあるんですが。。
お礼
ありがとうございます。感謝の気持ちでいっぱいです。 早速明日、やってみたいと思います。 本とにありがとうございました。