• ベストアンサー

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

K列全てを選択し、重複削除をする流れをマクロ記録で作成しました。 コードはA1セルからS7731セルまでですが、毎回データの量が変わってしまうので、S7731セルまでではなく、全てにしたいですが、どうすればよいのですか? 宜しくお願いします。 Sub 重複削除() Columns("K:K").Select ActiveSheet.Range("$A$1:$S$7731").RemoveDuplicates Columns:=11, Header:= _ xlYes End Sub

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.4

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

nkmyr
質問者

お礼

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

その他の回答 (3)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.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

nkmyr
質問者

補足

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

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

試してください。 Columns:=11 ↓ Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10.211, 12, 13, 14, 15, 16, 17, 18, 19)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

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

nkmyr
質問者

補足

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