VBAは重複を削除します| Excel VBAで重複する値を削除する方法は?

VBAExcelのRemoveDuplicates

特に一意の値をカウントする場合は、Excelで重複する値が必要ないことがよくあります。通常、処理するデータのセットは異なり、重複する値が多数表示されます。

Excelワークシートで重複を削除することに慣れているといいのですが、心配する必要はありませんが、簡単な例を示します。VBAでも、重複を削除する方法を実行できます。

そのため、「地域」の見出しの重複する値はすべて削除されました。同様に、VBAコードを使用してこのタスクを実行できます。

VBAコーディングで重複する値を削除する方法は?

最初に重複する値を削除するには、参照している範囲について言及する必要があります。次に、「重複の削除」メソッドにアクセスできます。したがって、構文は次のようになります。

[列]:選択範囲のどの列で重複を削除する必要がありますか?選択した範囲の列番号を記載する必要があります。

[ヘッダー]:選択した範囲にヘッダーがあるかどうか。ここで使用するオプションは3つあります。

  • xlYes:データにヘッダーがある場合は、これを選択できます。
  • xlNo:データにヘッダーがない場合は、これを選択できます。
  • xlGuess:このオプションを使用すると、Excelでデータのヘッダーを推測できます。

したがって、これらのパラメータを使用すると、ボタンをクリックするだけで、汗をかくことなく重複を削除できます。

以下のセクションでは、VBAが重複を削除する例をいくつか示します。手順に注意深く従って、自分でコードを記述してください。

VBAコーディングで重複する値を削除する例

以下は、ValuesVBAの重複を削除する例です。

VBAの削除された重複–例1

この例についても、以下のデータを検討してください。

上記のデータから、「Region」列の重複を削除する必要があるため、以下の手順に従ってコードを記述します。

ステップ1:マクロコードに名前を付けてサブプロシージャを開始します。

手順2: VBA Rangeオブジェクトを使用して、データの範囲に言及します

コード:

Sub Remove_Duplicates_Example1()範囲( "A1:C9")。エンドサブ

ステップ3:範囲アクセスVBAの「RemoveDuplicates」メソッドについて言及した後。

コード:

 Sub Remove_Duplicates_Example1()Range( "A1:C9")。RemoveDuplicates End Sub 

ステップ4:重複する値を削除する必要がある列の最初の引数。この最初の列の例では、重複を削除する必要があります。

コード:

 Sub Remove_Duplicates_Example1()Range( "A1:C9")。RemoveDuplicates Columns:= 1、End Sub 

ステップ5:次は、データにヘッダーがあるかどうかです。この場合、ヘッダーがあるので、「xlYes」を選択します

コード:

 Sub Remove_Duplicates_Example1()Range( "A1:C9")。RemoveDuplicates Columns:= 1、Header:= xlYes End Sub 

このコードを実行すると、VBAは選択した領域から重複を削除します。

これは、セルの範囲を参照する明示的な方法です。自分で範囲を選択してから重複を削除したい場合は、変数を使用して操作する必要があります。以下の例では、VBAで変数を使用する方法を示します。

VBAの削除された重複–例#2

上記の例では、セルの範囲を具体的に指定しています。次に、独自のセルの選択を操作する方法を説明します。

たとえば、次の画像に示すように、いくつかのデータセットがあります。

セルの範囲を明示的に指定できないたびに、選択範囲を範囲として割り当てます。

ステップ1:変数をRangeとして宣言します。

コード:

 Sub Remove_Duplicates_Example2()Dim Rng As Range End Sub 

ステップ2:範囲は、範囲を選択として設定するオブジェクトです。

コード:

 Sub Remove_Duplicates_Example2()Dim Rng As Range Set Rng = Selection End Sub 

ステップ3:セルの範囲の代わりに、変数「rng」を使用できます。

コード:

 Sub Remove_Duplicates_Example2()Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns:= 1、Header:= xlYes End Sub 

コードを実行する前に、まずセルの範囲を選択する必要があります。次に、選択したセルの範囲から重複を削除できます。

VBAが複数の列から重複を削除する–例3

VBAを使用して、Excel列から重複する値を削除することもできます。複数の列を削除するには、配列を使用して列番号を指定する必要があります。

たとえば、サンプルのデータ画像を見てください。

最初の列と4番目の列の値が重複しています。したがって、これらの列から削除します。以下のコードをVBAに使用して、重複を削除します。

コード:

 Sub Remove_Duplicates_Example3()Dim Rng As Range Set Rng = Range( "A1:D9")Rng.RemoveDuplicates Columns:= Array(1、4)、Header:= xlYes End Sub 

このVBARemove DuplicatesExcelはここからダウンロードできます。 VBAは重複するExcelテンプレートを削除します