• ベストアンサー

《エクセル》リストから同じ分類のデータのみコピーする

いつもお世話になります。 別のシートに、下記の形のリストがあります。  列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に連続したデータとして貼り付けたいのですが、うまくいきません。 ご教授宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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

7-samurai
質問者

お礼

お礼が遅くなりまして申し訳ございません。 他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。 ですが、いただきました回答をもとに、後は自分で頑張ってみます。 ありがとうございました。

その他の回答 (2)

  • murachan
  • ベストアンサー率26% (49/186)
回答No.2

#1です。 頭にサブルーチン名を付け忘れてますね。 sub a() が必要です。すみませんでした。 ちなみに、今エクセル環境がないので、未確認です。

  • murachan
  • ベストアンサー率26% (49/186)
回答No.1

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 でいいんじゃないでしょうか。自信ありませんが。

7-samurai
質問者

お礼

お礼が遅くなりまして申し訳ございません。 他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。 ですが、いただきました回答をもとに、後は自分で頑張ってみます。 ありがとうございました。

関連するQ&A