エクセルのマクロの書き方を教えてください。

補足

●マクロ実行前 【Sheet1】 ・A列 東京_school_20210417_university 大阪_test10_study_20191201_banana 【Sheet2】 ・B列 東京_school_20210417_senior_high_school 大阪_test10_study_20190707_apple ●マクロ実行後 【Sheet1】 ・A列 東京_school_20210417_university 大阪_test10_study_20191201_banana ・C列 東京_school_20210417_senior_high_school 大阪_test10_study_20190707_apple 【Sheet2】 ・B列 東京_school_20210417_university 大阪_test10_study_20191201_banana

Excel | Visual Basic72閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

すみませんが、やりたいことは、以下になります。 マクロで可能でしょうか。 Sheet2の情報をSheet1のC列に転記(赤色の矢印)し、 その後、Sheet1のA列の情報に置き換える(オレンジの矢印)。 置き換えるため、Sheet2は赤字のように変更される。

画像

ThanksImg質問者からのお礼コメント

私のマクロ作成ミスで動かなかったようですが、適正にマクロ作成後、希望通りに動きました。 とてもご丁寧に教えていただき、ありがとうございました。

お礼日時:4/18 11:49

その他の回答(1件)

0

質問の 意味が 今一つかめませんが こういうことですか? SHEET1の A列の 値の頭20文字が SHEET2の B列の値の20文字と 一致するものが あれば それを 全てC列に 列記しなさいということでいいですか それで 良ければ 添付参照 添付は 頭3文字の例です。 コードは20文字に直しています。 N = 1 For I = 1 To Sheet1.Cells(Rows.Count, "A").End(xlUp).Row 検索値 = Left(Cells(I, "A"), 20) For J = 1 To Sheet2.Cells(Rows.Count, "B").End(xlUp).Row If Left(Sheet2.Cells(J, "B"), 20) = 検索値 Then Sheet1.Cells(N, "C") = Sheet2.Cells(J, "B") N = N + 1 End If Next Next

画像

この返信は削除されました