エクセルの集計表(A店舗とB店舗で様式が同じ表)を、個別のシートにコピーしたいです。
A店舗とB店舗の集約表には、会社コード・商品コード・商品名・価格・売上情報が各セルに収納されてます。
それを、全く同じ様式で、会社別にシートを切り分けたい(50社ほどあります)です。
(AとBは各シート内で横に並んであるイメージ。切り分ける理由としては、PDF化してそのまま金額報告書とするため)
同じ項目で同じように並んでいる為、後はVBA?(初心者です)を使って、集約表を随時更新すれば個別シートは変わりようになればいいなと考えていますが、手順が分かりません...。
どうぞご教授よろしくお願いします!
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.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セルの会社コードを変更すると、必要なデータ一覧になると思うのですが。
No.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社のリストを表示させるかなどを考慮する必要あり。
などです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) 生産日報と月間集計 3 2022/06/21 22:32
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】スペースがいくつ入っ...
-
西暦や和暦の表示をyyyymmdd表...
-
【Microsoft Office Excel Comp...
-
Excelはなんで先頭の0を消すん...
-
Excelのセルを飛ばして入力する
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excelのオートフィル
-
Excel 2019 のピボットテーブル...
-
スプレッドシート クエリ関数 1...
-
excelの不要な行の削除ができな...
-
Excel初心者です。 詳しい方、...
-
【Excel】セル内の時間帯が特定...
-
Excel初心者です。 詳しい方、...
-
EXACT関数とIF関数の組み合わせ...
-
Excelのグラフ軸について
-
スマートな関数を教えて下さい。
-
Excelで全角を半角にしたいので...
-
【マクロ】エクセルにかいてあ...
-
Excel:一部のフォントでセルの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報