アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの集計表(A店舗とB店舗で様式が同じ表)を、個別のシートにコピーしたいです。

A店舗とB店舗の集約表には、会社コード・商品コード・商品名・価格・売上情報が各セルに収納されてます。

それを、全く同じ様式で、会社別にシートを切り分けたい(50社ほどあります)です。

(AとBは各シート内で横に並んであるイメージ。切り分ける理由としては、PDF化してそのまま金額報告書とするため)

同じ項目で同じように並んでいる為、後はVBA?(初心者です)を使って、集約表を随時更新すれば個別シートは変わりようになればいいなと考えていますが、手順が分かりません...。

どうぞご教授よろしくお願いします!

A 回答 (2件)

ん~、希望に合っているのかわかりませんが


シート A店舗
会社コード・商品コード・商品名・価格・売上情報
A1000   E1000   鉛筆  50 100本
A1002   E1002   用紙   5 1000枚
A1003   E1000   鉛筆  50 200本

シート B店舗
会社コード・商品コード・商品名・価格・売上情報
A1000   E1001   消しゴム100  10本
A1002   E1002   用紙   5 1000枚
A1003   E1000   鉛筆  50 200本

集計結果
会社コード
A1000

    A店舗             B店舗
商品コード・商品名・価格・売上情報・商品コード・商品名・価格・売上情報
E1000   鉛筆  50 100本   E1001   消しゴム100  10本

こんな感じでしょうか?
フィルターオプションで条件に合った(指定した会社コード)のデータを抽出すると云う事?
フィルターオプションで検索してみてください、多数ヒットします。

VBAで自動化するのであれば、上記のシート構成として
集計結果のシート名のタブを右クリックして、コードの表示、VBエディターが起動したら
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Sheets("A店舗").Columns("A:E").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:D4"), Unique:=False

Sheets("B店舗").Columns("A:E").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("E4:H4"), Unique:=False
End If
End Sub

をコピーして閉じる。
A2セルの会社コードを変更すると、必要なデータ一覧になると思うのですが。
    • good
    • 1

>A店舗とB店舗の集約表には、会社コード・商品コード・商品名・価格・売上情報が各セルに収納されてます。


この「会社コード」の会社と
>それを、全く同じ様式で、会社別にシートを切り分けたい
の会社は同じものを指しますか?

なら
ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
https://www.amazon.co.jp/ExcelVBA%E3%81%AE%E3%83 …
の内容がそのまま合致します。

内容は
「集計表」ワークシート上で「金額報告書作成」ボタンをクリック
すると、ユーザーフォームが開き、その中のドロップダウンリストから金額報告書を発行したい顧客を選択できるようにします。
選択した会社用の金額報告書のワークシートがシートの末尾に作成されるというものです。

VBAのコードはステップで分かれて解説され
1.単一の会社のみに着目(他の会社についての流用は次のステップ)
「A商事」という会社に限定した形で金額報告書のテンプレートのワークシートを末尾にコピー
宛先や発行日を入れたり「集計表」ワークシートから該当する販売データをコピーしたり。
2.複数の顧客への対応やユーザーフォームのドロップダウンリストを作成して 指定した顧客に応じた結果を出せるようにする
"標準モジュール"の"Module1"で「金額報告書作成」と「フォーム用意」、フォームモジュールの"UserForm1"の「UserForm_Initialize」と「ComboBox1_Change」の4つを作成することになります。
3.作成されたコードの整理と改良。
機能はそのままにして、セル番地を指定している箇所の定数化などで後から見てもわかりやすいコードに書き換え、
仕様の追加や変更に対応させやすいコードにします。


本の解説と異なりそうな部分は
・会社によって行数が異なるはずで、テンプレートの行数をどう設定するか、またテンプレートのページを超えて下方向に長くデータが続く場合の印刷イメージへの対処
・本の解説では5社が対象なので、会社の選択は簡単な配列を使っているが、質問のように50社もある場合はどこかに50社のリストを作成しておいてそのリストすべてについてを順次行うか、テキストボックスに50社のリストを表示させるかなどを考慮する必要あり。
などです。
    • good
    • 1

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