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

こんにちは
下記マクロ
sub macro1()
 dim LastRow as long
 lastrow = worksheets("Sheet2").range("A65536").end(xlup).row

’結果シートを準備
 worksheets("Sheet2").copy after:=worksheets("Sheet2")
 activesheet.name = "RESULT"

’ファイル1から転記、不要な行を抹消
 range("C1:C" & lastrow).formula = "=VLOOKUP(A1,Sheet1!A:B,2,FALSE)"
 on error resume next
 range("C1:C" & lastrow).specialcells(xlcelltypeformulas, xlerrors).entirerow.delete
 range("C1:C" & lastrow).value = range("C1:C" & lastrow).value
end sub
を、一部変更して
1、Sheet2をコピーして、resultを作り←上記マクロで既に出来上がり
2、Sheet1とのNo.を比較して、共通な番号を残し、(この場合、a1とa2)
 後の行は削除して
3、Sheet1の科目の列を追加する。
方法を教えて下さい。


sheet1
No.科目難易度
f2物理9
f2数学10
a1化学2
a2生物2

Sheet2
番号No.人気度参考図書時間
1c4 B 4冊20時間
2c5 B 4冊35時間
3a1 C 8冊100時間
4a2 A 6冊150時間

result
番号No.科目人気度参考図書時間
1a1化学 C 8冊 100時間
2a2生物 A 6冊 150時間

A 回答 (1件)

わざわざ番号と説明してるのは、シート2はA列が番号列で1,2,3を持っていて、B列からNo列にしてるって事でいいんですね?そういう事にします。




sub macro2()
 dim LastRow as long
 lastrow = worksheets("Sheet2").range("A65536").end(xlup).row

’結果シートを準備
 worksheets("Sheet2").copy after:=worksheets("Sheet2")
 activesheet.name = "RESULT"


’C列に一列空けてファイル1から転記、不要な行を抹消
 range("C:C").insert shift:=xlshifttoright
 range("C1:C" & lastrow).formula = "=VLOOKUP(B1,Sheet1!A:B,2,FALSE)"
 on error resume next
 range("C1:C" & lastrow).specialcells(xlcelltypeformulas, xlerrors).entirerow.delete
 range("C1:C" & lastrow).value = range("C1:C" & lastrow).value
end sub


ていうか、マクロはほとんとどこも変わらないですけどね。



#ご相談で前に教わったのから新しく質問するときは、手抜きして「前のご相談(や教わったの)をコピーして情報提供する(したつもりになってる)」のは絶対にやめて、「いまは実際にどうやってるのか」「今度は何をしたいのか」キチンと正しく情報提供する事を憶えて下さい。

この回答への補足

ご回答有難う御座います。
>「いまは実際にどうやってるのか」「今度は何をしたいのか」
>キチンと正しく情報提供する事を憶えて下さい。
承知致しました。
「いまは実際にどうやってるのか」
は、
ご教示頂きました通りで、出来ました。
VLOOKUPを、使う方法は、すごいです。
少ないコード数でばっりち成果が出ます。
「今度は何をしたいのか」
は、申し訳御座いません。更に以下をしたいのですが、
教えて下さい。
1、Sheet2をコピーして、resultを作り←上記マクロで既に出来上がり
2、Sheet1とのNo.を比較して、共通な番号を残し、(この場合、a1とa2)
 後の行は削除して
3、今度は列を追加しないで、
科目の下(同じ行内で)に、Sheet2の「系」
難易度の下(同じ行内で)に、Sheet2の「ランク」
を入れたいです。

これまで通り、VLOOKUPを使い、コードはあまり変更しない方がありがたいです。

以上、よろしく御願い致します。

下記は、excelを、コピペしたのですが、うまく貼り付けられませんでした。



sheet1
No.科目難易度
f2物理9
f2数学10
a1化学2
a2生物2



Sheet2
番号No.系ランク
1c4文系A
2c5文系S
3a1理系G
4a2理系F



result
番号No.科目難易度
1a1化学 2
理系 G

2a2生物 2
理系 F

補足日時:2014/05/19 22:04
    • good
    • 0
この回答へのお礼

有難う御座いました。

お礼日時:2014/06/06 21:45

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