• 締切済み

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

月末在庫の集計表を作成しています。 月末在庫を抽出すると、次のように表示されます。 ・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

  • 集計表のマクロについて

    月末在庫の集計表を作成しています。 月末在庫を抽出すると、次のように表示されます。 ・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字を超えてしまうので ここでは載せていません。

  • 集計表をマクロで作成したい。

    月末在庫を社内のシステムから抽出するとエクセルには 次のように表示されます。  A列  B列 C列  D列  E列 F列   G列 1(空欄) AQ73 (空欄) 白桃  31A  埼玉県   3 2    AQ74     オレンジ21B  宮城県B 1 3    AQ74     オレンジ31A  埼玉県   1 4    AQ75     メロン 11A  北海道  8 5    AN92     ラムネ 31A  埼玉県  240 6    AP28     グレープMYN  埼玉工場 15 下一桁が「A」か「B」のものは倉庫の在庫で「A」は通常品 「B」は出荷止め品です。 この情報から次のような表を作成するマクロを作りたいと思っています。 倉庫コード・名称 11A 31A  MYN   A  21B   B 合計 商品コード 商品名称 北海道 埼玉県 埼玉工場 小計 宮城県B 小計 AQ73  白桃       3        3         3 AQ74  オレンジ     1        1  1    1 2 AQ75  メロン 8            8 8 AN92  ラムネ      240  240 240 AP28  グレープ         15 15 15  合 計      8   244  15   267 1     1 268 A列に商品コード・B列に商品名称・C列から「通常品と小計」「出荷止め品と小計」「合計」というような表をマクロで作りたいのです。 マクロの記録をしようとしても、どうやってピボットテーブルを設定 したらよいのか思いつかず、うまく行きません。 アドバイスいただけませんか?

  • 集計表の作成

    集計表の作成 AccessとExcelを使用して集計Aを作成したいと思っています。 (ボタン1クリックだけで行なうのが理想です) 1.グループ毎に小計行を追加したい(小計行はグループ毎の合計 2.エクスポートしたExcelの最終に合計行の追加したい (合計行は全グループの合計) A列はデータ数によって毎回行数が変わる為にあらかじめレイアウトを 作成して、Vlookuopで当てはめるという事も出来ません。 元となる金額のデータはAccessで作成してExcelにエクスポートする 所までは出来たのですがそれ以降(小計行の追加・計算、合計行の追加・計算)が分かりません。どの様にすればよいでしょうか? Access:仕入先テーブル コード |テキスト型 名称 |テキスト型 仕入額 |数値型 前年比 |数値型 グループ |数値型 Excel:集計A A | B | C | D | E | F | 1 |コード | 名称 |仕入額 |前年比|グループ| 2 |1030 | A | 1,000 | 49%|1 | 3 |1040 | B | 1,050 | 32%|1 | 4 | |小計(A+B) | 2,050 | 81%| 5 |1050 | C | 1,000 | 50%|2 | 6 |1060 | D | 1,050 | 52%|2 | 7 |1070 | E | 1,050 | 49%|2 | 8 | |小計(C+D+E)| 3,100|50.3%| 9 |1080 | F | 1,000 | 60%| | 10|1090 | G | 2,000 | 38%| | 11|2000 | H | 1,000 | 60%| | ・ ・ ・ ・ | |合計 | 9,150 |49% | ・・・C4+C8+C9+合計行の直前まで

  • エクセル在庫数量の更新について

    エクセル在庫数量の更新について (1)生産日ファイルと(2)集計表ファイルを利用して商品の在庫管理をしています。 (1)生産日ファイルには、D列に倉庫・E列に商品・F列に日付・G列に朝の時点での 在庫数量の情報が入っています。 (2)集計表ファイルには、翌日に出荷する予定が入っています。 A列に商品・B列に商品名称・C列~H列は倉庫A~Fからの出荷予定・I列は商品ごとの 合計が入っています。 この(2)集計表ファイルの情報をもとに、製造年月日が古いものから無くなるように (1)生産日ファイルの情報を更新したいと思っています。 画像でいうと、 (2)集計表ファイル「あ」の商品が「A」の倉庫で10個出荷される予定になり、 (1)生産日ファイル「A」の倉庫に「あ」の商品は 20100501生産品 25個を15個にする。 (2)集計表ファイル「う」の商品が「A」の倉庫で30個出荷される予定になり、 (1)製造年月日ファイル「A」の倉庫に「う」の商品は「 20100401生産品 5個と 20100420生産品 15個と 20100425生産品 30個 の 計 50個」から「20100425生産品 20個 の 計 20個」にする。 といったようにしたいと思っています。 マクロでも関数でも良いのですが、何か良い方法を教えていただけないでしょうか?

  • 内訳書に明細書の小計を集計したい!

    以下のような見積書を作ったとします。 Sheet1 (内訳書)   (A) (B) (C) (1) 名称 内訳 金額 (2) ** ** ** (3) (4) (5) (6) : Sheet2 (明細書)   (A) (B) (C) (D) (E) (1) 名称 内訳 数量 単価 金額 (2) 施工費 ** ** ** =IF(B2="","",B2*C2) (3) (4) (5) (6) : E3以下に =IF(A3="小計",SUM(D$2:D2)-SUMIF(A$2:A2,"小計",D$2:D2)*2,IF(B3="","",B3*C3)) これで明細書の小計は行を気にせずに出せるようになりました。 たとえばSheet2(明細書)のA2に施工費、B6に小計でE6に小計が出るとします。 これをSheet2(明細書)のA列の名称をSheet1(内訳書)のA2に、小計(上記の場合E6)をC3に・・・ という風に順次名称と小計を抽出するにはどうすればよいでしょうか? 分かりにくくてすいません。 どうぞ、宜しくお願い致します。

  • エクセル 離れたセルのデータをまとめてリスト

    オーダーに対して、分けて出荷をします。 2012/3/1出荷の商品と数量と在庫をまとめて、リストを作成したいです。 商品 オーダー数 在庫 出荷1   数量 出荷2    数量  出荷3    数量 あ  100      0   2012/1/1  20  2012/2/1  50    2012/3/1  30 い  200      0   2012/2/1  100  2012/3/1 100 う  100      0   2012/3/1  100 え  100      30  2012/1/1  50   2012/3/1  20 お   50      50 よろしくおねがいします。

  • エクセルで入出庫数管理表

    倉庫で働いている者です。毎日メーカーから送ってもらうデータをプリントアウトして、商品をピッキングする作業しています。 ただ、在庫管理に関しては紙に書いて管理しているので、消しゴムでの紙がふやけ、手間です。 そこでエクセルで管理できる方法を教えてください。もしくは、どの本で勉強するのか知りたいです メーカーからは、A列に商品名 B列に出荷数 が記入されたデーターがきます。 自分としては、Sheet1に倉庫の現在庫数。A列に商品名 B列に現在庫数(これは自分で作成する) Sheet2に送られたデーターを張り付けると、Sheet1の現在庫数が自動で計算され引き算される 説明下手で申し訳ないです。 そんなことは可能でしょうか??

  • エクセル関数で価格表を作成してるのですが・・・

    エクセルにて価格表を作成したいのですが、 どの関数を使用していいのかわかりません。 ご存知の方がいらっしゃいましたらご教授のほどお願いいたします。 作成したい表の例としましては、 1つの商品名に対して3つの購入プランがありまして、そのプランに対して それぞれポイントが付加されるのですが、 (1)・・・通常価格にて購入の際のポイント数 (2)・・・割引価格I     〃 (3)・・・割引価格II     〃         とします。 そしてこのポイント数の合計によって商品購入の割引率が変わってきます。 ですので、各商品の数量欄に数字を入力したら、合計ポイント数を表示させ 尚且つ、割引率も表示させたいのです。 割引率は4段階になっており、 レベル1 40000-99999 レベル2 100000-224999 レベル3 225000-349999 レベル4 350000~ です。 少しわかりにくいかとは思うのですが、現在エクセルで A列⇒商品名 B列⇒(1)の数量入力欄 C列⇒(1)の価格 D列⇒(2)の数量入力欄 E列⇒(2)の価格 F列⇒(3)の数量入力欄 G列⇒(3)の価格 といった形で作成はしました。 ここからどのように進めていけばよいか、ご教授のほどお願い致します。

  • 集計表を作成するマクロについて

    「1日」のシート   A    B    C    D     E 1 車両番号 出発場所 到着場所 商品コード 数量 2 1    東京   大阪   L     10 3 2    北海道  東京   M      5 4 3    東京   北海道  L     17  5 4    福岡   東京   N      8 「2日」のシート   A    B    C    D     E 1 車両番号 出発場所 到着場所 商品コード 数量 2 1    大阪   東京   K      8 3 2    東京   愛知   L      7 4 3    福岡   大阪   N     17  5 4    北海道  千葉   N     13 上記のように「車両番号」「出発場所」「到着場所」「商品コード」「数量」の情報が入ったシートが日別に1枚ずつあり、月間で28~31枚が1つのファイルに入っています。 このファイルで、新しいシートを追加して、日別の車両情報の一覧を作成したいのですが、どのようにしたらよいのか教えていただけませんか? 以下の条件で作成したいと思います。 1.「A1」から「E1」を新しいシートの「A1」から「E1」に貼り付ける。 2.シートの「車両番号」に数字が入っている行をそのままコピーして、新しいシートに貼り付けていく。その際に、コピー元のシート番号が入ればありがたい。(無くても可) 3.日別の車両情報をスペースは開けずに下に続けて貼り付けていく。 4.月ごとに日数が異なるので、車両情報が投入されているシートのみを貼り付ける対象としたい。 以上です。 次のように表示されるようになると嬉しいです。   A    B    C    D     E  F 1 車両番号 出発場所 到着場所 商品コード 数量 参照シート名 2 1    東京   大阪   L     10 1日 3 2    北海道  東京   M      5 1日 4 3    東京   北海道  L     17 1日 5 4    福岡   東京   N      8 1日 6 1    大阪   東京   K      8 2日 7 2    東京   愛知   L      7 2日 8 3    福岡   大阪   N     17 2日 9 4    北海道  千葉   N     13 2日 これが出来れば、手で「コピー・貼り付け」をしていくよりも入力ミスが少なくなりそうです。 よろしくお願いします。

  • エクセル 在庫管理(在庫数から入庫月を求める)

    エクセルでの在庫管理をご教示ください。 これまで手書きで計算していた入庫月をエクセルで行いたいと考えております。 在庫数からその在庫の一番古い入庫月を求める計算式をお教えください。 例: A列 商品名 2020/1月の B列 出荷数量 C列 入庫数量 D列 在庫数量 2020/2月の E列 出荷数量 F列 入庫数量 G列 在庫数量 2020/3月の H列 出荷数量 I列 入庫数量 J列 在庫数量 *K列に、3月の在庫数量(J列)の、一番古い在庫の入荷月を求める計算式を入力したいです。 宜しくお願い致します。

専門家に質問してみよう