こんにちは脇村です。僕のブログでは、本業での実務上のEXCEL、ACCESSマクロ&VBAの使えそうなコードの紹介、コールドリーディングの実践例、電話占いでの現場、最近読んでいいなと思った本等について、主に発信していきたいと思っています。
今回はEXCELVBAについて発信したいと思います。 こういったプログラム系統は何を実現したいかを強く頭に描くことが実現への第一歩につながると思います。 少しずつ発信していってその手助けができれば幸いだと思っています。 今回はEXCELVBA重複削除についてのマクロについてです。
Sub 重複削除()
Dim 行 As Integer
Dim セル範囲 As Range
Dim 重複 As Integer
For 行 = Range(“A65536”).End(xlUp).Row To 1 Step -1 ①
Set セル範囲 = Range(“A1”, Range(“A65536”).End(xlUp)) ②
重複 = WorksheetFunction.CountIf(セル範囲, Range(“A” & 行).Value) ③
If 重複 > 1 Then ④
Sheets(“請求先”).Range(“A” & 行).Delete
End If Set セル範囲 = Nothing ⑤
Next
End Sub
①は1行目から最終行までですが、行削除なので必ず最終行から1行ずつ削除します。これが Step -1です。こうしないと正しい結果になりませんので注意を。
②は対象範囲を指定するマクロで1行目から最終行まで指定しています。
③は WorksheetFunctionでCountIf関数をVBAで指定しています。
④は重複 が1より大きかったら削除します。
⑤でセル範囲と言う変数を無しにします。
今回は重複削除ついてのマクロでした。次回もまたよろしくお願いします。
関連記事
Excel VBA 貼付けマクロについて
Excel VBA 五十音順に並び替えのマクロについて
Excel VBA For Each ○○ In Selectionを使ったマクロについて
Excel VBA For~nextを使ったマクロについて
Excel VBA 印刷エリアの設定マクロについて
Excel VBA 印刷マクロについて
“Excel VBA 重複削除について” への1件のコメント
わかりやすいですね。