質問: num Worksheets("IDSテスト").Range("A9:B2000").RemoveDuplicates Columns:=2, Header:=xlYes '重複行削除 Range(Range("B9"), Cells.SpecialCells(xlCellTypeLastCell)).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp '空白行削除 Loop Close #1 End Sub ### 試したこと csvファイルを一行ずつ読み込むこと 重複行の削除 空白行の削除までは行いました。 後は、重複行の削除数含め件数を出力 csv読み込みの際の別シートと比較し、一致したら関連セル内容を代わりに出力です。 以上、わかりにくくて申し訳ありませんがよろしくお願いいたします。 ※入出力の例として画像を添付いたします。 ![![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/264269ef6a9b26fb0b37b5f64cf1a082.jpeg)](594f8b7ef48c66673f2ae69e71a14d9e.jpeg) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/2447545b9465c7ba950a09c94c5f01bc.jpeg) ※入力例のcsvは 販売日,タイプ,パターン,屋さん 2016-05-23,A,みかん,八百屋 2016-05-22,B,ぶどう,八百屋 2016-05-22,C,りんご,八百屋 取り込む列は「タイプ」と「パターン」です。
回答: > > 重複行の削除数含め件数を出力 > > > 重複行の削除数含め件数を出力なのであれば、CSVの行数と一緒になるのではと思うのですが、 読み込んだ際にカウントしてそれを出力してあげればいいのでは? (もしや「4.読み込んだ行をNo1 2 3 4 5と最大行まで順番に番号を付けていく。」←これが通し番号のこと??) > > csv読み込みの際の別シートと比較し、一致したら関連セル内容を代わりに出力 > > > これは、こちらが使えそうです。 行番号が分かれば、列番号は固定なので、値はとれますよね。 あとは、出力先のシートの場所が分かれば。 あと、勉強中ということなので、、、 変数をまとめて記載しているのですが、ただ羅列しているだけだとどれがどれなのかが分かりにくいです。 `Line Input #1, buf`がなぜ2行あるのか等、コメントをつけながらコードを書くと後で見直したときに分かりやすいかと思います。 参考:[コメントの書き方] 他にもやり方はいろいろあるんじゃないかと思います。 研修がんばってください。