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

vbaエクセルマクロについて教えてください

A列とD列が下のようになっています
B列、C列にも何かしらの値が入っています

Aマート りんご
Bマート みかん
Cマート ぶどう
Bマート りんご
Aマート りんご
Dマート もも
Bマート みかん
Aマート もも
Dマート みかん
Cマート もも
Dマート もも

これを、

Aマート りんご
Bマート みかん
Cマート ぶどう
Bマート りんご
Aマート りんご→削除
Dマート もも
Bマート みかん→削除
Aマート もも
Dマート みかん
Cマート もも
Dマート もも →削除
Aマート りんご→削除


A列、D列ともが重複している場合
重複行を削除して

Aマート りんご
Bマート みかん
Cマート ぶどう
Bマート りんご
Dマート もも
Aマート もも
Dマート みかん
Cマート もも

このように1行ずつの表示にしたいときは、
どのようなプログラムになりますでしょうか。

質問者からの補足コメント

  • fujillin様、回答ありがとうございます!m(._.)m

    追加質問申し訳ないです。

    何行目までデータが入っているかわからない場合のプログラムも教えてほしいです。

      補足日時:2023/02/20 21:20

A 回答 (2件)

こんばんは



重複している行は、B、C列の値も削除してよいものと解釈しました。

方法はいろいろあると思いますので、一例です。
 Range("A1:D11").RemoveDuplicates Columns:=Array(1, 4)
    • good
    • 0
この回答へのお礼

解決しました

質問の内容をくみとって回答してくださいまして大変ありがとうございます!
こちらを参考にさせていただきます。
とてもたすかりました!

お礼日時:2023/02/20 23:56

No1です。



>何行目までデータが入っているかわからない場合のプログラムも教えてほしいです。
データと言うのがどのような性質なのかによりますが・・・

まず、必要範囲を調べることから行います。
一般的な最終行の求め方
 Cells(Rows.Count, col).End (xlUp)
みたいなのでも良いでしょうし、

.CurrentRegionで取得できるのなら、
 Cells(rw, col).CurrentRegion
もありかも知れません。

もっと大雑把なら
 Worksheets(n).UsedRange
なんて方法もあります。
    • good
    • 0
この回答へのお礼

天才やな

追加質問にまで回答くださって大変たすかりました。
解決できそうです。
本当にありがとうございます!

お礼日時:2023/02/20 23:53

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