![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
2種類のファイルがあります。
ファイルA 販売データ
ファイルB 商品ごとの詳細表
ファイルAには、商品ID、販売日時、販売個数が入力されています。
商品ID 販売日時 販売個数
ABAB 2010/06/05 10
ABAB 2010/06/07 8
ABAB 2010/06/12 2
CDCD 2010/06/06 15
CDCD 2010/06/09 4
EFEF 2010/06/01 8
GHGH 2010/06/12 14
GHGH 2010/06/15 2
ファイルBは各商品IDごとに1枚のシートに商品情報が記入されています。
シートAの販売日時と販売個数をそれぞれのシートにマクロで転記させていきたいと思ってます。
「商品IDが変わったら、次のシートへ移動」という命令文を教えてください。
お願いします。
No.3ベストアンサー
- 回答日時:
たとえば。
sub macro1()
dim r as long
dim h as range
on error goto errhandle
r = workbooks("販売データ.xls").worksheets("販売データシート").range("A65536").end(xlup).row
for each h in workbooks("販売データ.xls").worksheets("販売データシート").range("A2:A" & r)
h.offset(0, 1).resize(1, 2).copy _
destination:=workbooks("商品ごとの詳細.xls").worksheets(h.value).range("A65536").end(xlup).offset(1)
next
exit sub
errhandle:
with workbooks("商品ごとの詳細.xls")
with .worksheets.add(after:=.worksheets(.worksheets.count))
.name = h.value
end with
end with
resume
end sub
#補足
「それぞれのシート」とか「次のシート」とか,具体的にどのシートがどういう具合に対応しているのか,まったく説明されていません。
なので,そういう不足をすっ飛ばしてサンプルマクロをお話しします。実態と合ってなければ追加質問せずに捨てて下さい。
No.2
- 回答日時:
ファイルBの各シート情報を主体にする方法は如何でしょうか。
(1)ファイルBのシート数分で繰り返し
For i =1 TO WorkSheets.Count
シートのタブ名かシートの固定セルで商品IDを確定、販売データ表をオートフィルタ、可視セル表示部分をコピー
(iはシート番号なので仮にシートタブ名は、Sheets(i).Nameで取得できる)
Next
又は、
For Each ws In WorkSheets
同上
(wsはシートのオブジェクトなので仮にシートタブ名は、ws.Nameで取得できる)
Next
No.1
- 回答日時:
ファイルAとBがすでに開いてる状態でファイルBの各シートの名が商品IDと同じとした場合でしか使えないマクロですが
Windoes("ファイルB.xls").Activate
↑
これでファイルBのシートに移動します
Sheets("ABAB").Select や Sheets("CDCD").Select
↑
これでシートに移動します
単純な方法としてはファイルAの2行目にある商品ID・販売日時・販売個数を変数に入れて、ファイルBに移動し商品IDと同じシートに移動して販売日時と販売個数を転記させ、ファイルAに戻って次の3行目って感じで転記するデータが無くなるまで繰り返すって感じですね
ファイルAの情報を全て変数に持たせてからファイルBに移動って方法もあります
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) エクセル count関数で出てきた数だけの行数をリンクで参照する 3 2022/08/10 12:02
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Amazon 新規でAmazon商品ページ作成方法について 1 2022/03/28 00:22
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
- メルカリ メルカリで古着販売、古物商許可証必要でしょうか。 3 2023/02/20 10:42
- その他(ニュース・時事問題) 都市部の無人販売店での万引き事件はビジネス方式に問題があるのでは。 8 2022/06/11 20:00
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSのVBAにてExcelのシ...
-
excelのInitializeイベントとAc...
-
エクセルのマクロについて教え...
-
Excel・Word リサーチ機能を無...
-
UserForm1.Showでエラーになり...
-
エクセルで特定の列が0表示の場...
-
配列数式の解除
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
特定のPCだけ動作しないVBAマク...
-
マクロの記録を使用したマクロ...
-
2つ以上の変数を比較して最大数...
-
「実行時エラー '3167' レコー...
-
一つのTeratermのマクロで複数...
-
教えて下さい
-
エクセルに張り付けた写真のフ...
-
配列でデータが入っている要素...
-
【VBA】ワークブックを開く時に...
-
Excel VBAからAccessマクロを実...
-
ExcelのVBA。public変数の値が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelのInitializeイベントとAc...
-
ACCESSのVBAにてExcelのシ...
-
Excelマクロ 別シートへ連続コ...
-
エクセルVBAでブックの分割
-
オートシェイプの不具合について
-
エクセル2010の内容を次のシー...
-
「IsText」の使い方を教えてく...
-
EXCELで1シートのデータを複数...
-
「シートを削除しますか」のメ...
-
CSVファイルの読み込みVBA作成...
-
VBA処理でこんな条件処理ってで...
-
ExcelVBAを使っての振り分け処理
-
エクセル2007 マクロについて...
-
別のシートの文字列を他のシー...
-
エクセルVBAで名前の決まってい...
-
【VBA】3個のワークブックから...
-
複数シート内容を1 シートに纏...
-
VBAで繰り返し処理の速度を...
-
同一ブック内・別シートの内容...
-
VBAでシートをまたぐ処理の方法
おすすめ情報