• 締切済み

集計表作成のマクロについて

月末在庫の集計表を作成しています。 月末在庫を抽出すると、次のように表示されます。 ・B列 商品コード ・D列 商品名称 ・E列 デポコード ・F列 デポ名称 ・G列 数量 なお、3桁のデポコードのうち、右がBであれば「出荷止め品(B在庫)」そうであければ「通常品(A在庫)」です。 これらの情報を元に、商品ごと倉庫ごとの「通常品」「出荷止め品」の在庫数量を一覧にしたいと思っています。 ●一覧表作成の流れは次のように考えています。 1.抽出されたデータを「通常品」「出荷止め品」に分ける。(完了) 2.抽出されたデータの「(1)全てのリスト」(完了)「(2)通常品リスト」(×)「(3)出荷止め品リスト」(×)を作成する。 3.新しいシートを作成して、縦軸に(1)の商品コードと商品名称を抽出 4.横軸に(2)のデポコード・名称とその数量を抽出して小計を入れる。 5.「4」の小計欄の右から(3)のデポコード・名称とその数量を抽出して小計を入れる。 6.「4」と「5」の小計を足した「合計」を入れる。 7.倉庫ごとの合計数量を投入する。 8.罫線を設定する。   ⅰ 全体を実線で囲む。   ⅱ 縦線を実線にする。   ⅲ 小計欄の左右は二重線にする。   ⅳ 倉庫ごとの合計欄の上を二重線にする。 ここで問題が発生しています。「2」の(2)と(3)がうまく行きません。 「A在庫」も「B在庫」も抽出されたデータをもとに作成しています。 「デポコード」の右側1文字が「B」であれば「A在庫」の場合は「0」を表示「B在庫」の場合は「デポコード」「数量」など、必要な情報を抽出するようにしています。 「A在庫」「B在庫」のそれぞれの情報が抽出されても、「0」の欄が あると、エラーが出てしまいます。 分けた「A在庫」「B在庫」の「商品コード」「商品名称」「デポコード」「デポ名称」をリストとして表示するにはどうしたらよいのか、教えていただけませんか? また、他に在庫状況を把握するよい案があったら教えていただけると助かります。 ちなみに、現在のVBAは以下のように記入しています。 VBA初心者のため上の流れの「4」と「5」の辺りもよくわかっていません。何か参考になるサイトがあれば、教えていただけると助かります。 なお、現在のVBAも添付したいのですが、2000字を超えてしまうので ここでは載せていません。

みんなの回答

noname#192382
noname#192382
回答No.1

次に示すマクロでデポがAのものはシート2に、Bのものはシート3にコピーされますので、後は好きなように出来ると思います。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2010/2/25 ユーザー名 : ' Dim mygyo As Integer For mygyo = 2 To 5 Sheets("Sheet1").Select 'MsgBox Right$(Cells(mygyo, 5), 1) If Right$(Cells(mygyo, 5), 1) = "A" Then Range(Cells(mygyo, 1), Cells(mygyo, 5)).Select Selection.Copy Sheets("Sheet2").Select Range(Cells(mygyo, 1), Cells(mygyo, 5)).Select ActiveSheet.Paste ElseIf Right$(Cells(mygyo, 5), 1) = "B" Then Selection.Copy Sheets("Sheet3").Select Range(Cells(mygyo, 1), Cells(mygyo, 5)).Select ActiveSheet.Paste Else End If Next ' End Sub

donald1982
質問者

お礼

申し訳ありませんが、Sheet1が選択されるだけでした。

関連するQ&A