- ベストアンサー
《エクセル》リストから同じ分類のデータのみコピーする
いつもお世話になります。 別のシートに、下記の形のリストがあります。 列A 列B 列C 列D (商品名)(大分類)(中分類)(売上金額) 商品A あ A 1000 商品B あ B 900 商品C い A 800 商品D あ A 700 商品E あ C 600 商品F あ F 500 マクロを組んで、このリストの大分類が"あ"、中分類が"A"に該当する商品名と売上金額のみをコピーして、今開いているシートの列A・列Bに連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sheet2にリストがあるとき、Sheet3へ抜き出します。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("sheet2") Set sh2 = Worksheets("sheet3") j = 1 d = sh1.Range("a1").CurrentRegion.Rows.Count For i = 2 To d If sh1.Cells(i, "B") = "あ" And sh1.Cells(i, "C") = "A" Then sh2.Cells(j, "A") = sh1.Cells(i, "A") sh2.Cells(j, "B") = sh1.Cells(i, "D") j = j + 1 End If Next i End Sub
その他の回答 (2)
- murachan
- ベストアンサー率26% (49/186)
#1です。 頭にサブルーチン名を付け忘れてますね。 sub a() が必要です。すみませんでした。 ちなみに、今エクセル環境がないので、未確認です。
- murachan
- ベストアンサー率26% (49/186)
worksheets("sheet2").activate i=1 j=1 do if worksheets("sheet1").cells(i,2)="あ" then if worksheets("sheet1").cells(i,3)="A" then cells(j,1)=worksheets("sheet1").cells(i,1) cells(j,2)=worksheets("sheet1").cells(i,4) j=j+1 endif endif i=i+1 loop until i=500 end sub でいいんじゃないでしょうか。自信ありませんが。
お礼
お礼が遅くなりまして申し訳ございません。 他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。 ですが、いただきました回答をもとに、後は自分で頑張ってみます。 ありがとうございました。
お礼
お礼が遅くなりまして申し訳ございません。 他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。 ですが、いただきました回答をもとに、後は自分で頑張ってみます。 ありがとうございました。