dポイントプレゼントキャンペーン実施中!

いつもお世話になります。

別のシートに、下記の形のリストがあります。

 列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に連続したデータとして貼り付けたいのですが、うまくいきません。

ご教授宜しくお願い致します。

A 回答 (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
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ございません。
他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。

ですが、いただきました回答をもとに、後は自分で頑張ってみます。

ありがとうございました。

お礼日時:2004/05/07 09:01

#1です。



頭にサブルーチン名を付け忘れてますね。

sub a()

が必要です。すみませんでした。
ちなみに、今エクセル環境がないので、未確認です。
    • good
    • 0

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

でいいんじゃないでしょうか。自信ありませんが。
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして申し訳ございません。
他の業務で急遽入って、本日の時点で、まだ試せていないのです・・・。

ですが、いただきました回答をもとに、後は自分で頑張ってみます。

ありがとうございました。

お礼日時:2004/05/07 08:59

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