こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

マクロ 重複削除の選択範囲を全てにしたい

K列全てを選択し、重複削除をする流れをマクロ記録で作成しました。
コードはA1セルからS7731セルまでですが、毎回データの量が変わってしまうので、S7731セルまでではなく、全てにしたいですが、どうすればよいのですか?
宜しくお願いします。


Sub 重複削除()

Columns("K:K").Select
ActiveSheet.Range("$A$1:$S$7731").RemoveDuplicates Columns:=11, Header:= _
xlYes
End Sub

投稿日時 - 2018-09-14 10:29:48

QNo.9537164

困ってます

質問者が選んだベストアンサー

>K列全てを選択し、
選択する必要はありません
>S7731セルまでではなく、全てにしたいですが
最終行が変わるのですね
>重複削除するのはK列のみですが…
k列=11列
なら、これでK列の重複は削除されますが
ActiveSheet.Range("A1").CurrentRegion. _
RemoveDuplicates Columns:=11, Header:=xlYes

投稿日時 - 2018-09-14 14:40:51

お礼

ありがとうございます。
うまくできました。

投稿日時 - 2018-09-14 15:05:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

訂正
A列からS列まで
Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13, 14, 15, 16, 17, 18, 19)

もし、それぞれの列単位で重複を削除するのなら
For i = 1 To 19
ActiveSheet.Range("A1", Cells(Rows.Count, "S").End(xlUp)). _
RemoveDuplicates Columns:=i, Header:=xlYes
Next

投稿日時 - 2018-09-14 13:46:30

補足

「もし、それぞれの列単位で重複を削除するのなら」
重複削除するのはK列のみですが…

投稿日時 - 2018-09-14 14:12:59

ANo.2

試してください。
Columns:=11

Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10.211, 12, 13, 14, 15, 16, 17, 18, 19)

投稿日時 - 2018-09-14 13:24:53

ANo.1

>S7731セルまでではなく、全てにしたいですが
S列の最終行まで行います。
ActiveSheet.Range("$A$1", Cells(Rows.Count, "S").End(xlUp)).RemoveDuplicates Columns:=11, Header:=xlYes

投稿日時 - 2018-09-14 11:09:27

補足

ありがとうございます。

記述してみましたところ、K列を選択しただけで、重複削除は実施していませんでした。
違うのでしょうか?

投稿日時 - 2018-09-14 12:12:47

あなたにオススメの質問