Excel VBAを用いてカラムの重複値をフィルタリングする方法

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。


Excel VBAは業務の効率化に大いに役立つツールですが、その中でもカラム内の重複値をフィルタリングする操作は多くの場面で必要になります。この記事では、Excel VBAを用いてカラムの重複値を簡単にフィルタリングする方法を詳細に解説します。

環境の設定

まずは、VBAの環境を整える必要があります。Excelを開き、「開発」タブから「VBAプロジェクト」を選択してください。新しいモジュールを作成し、その中に以下のVBAコードを貼り付けます。

必要なオブジェクトの宣言

Dim ws As Worksheet
Dim lastRow As Long

基本コードの解説

基本となるコードの解説を行います。このコードには、カラム内の重複値を特定し、新しいカラムにフィルタリングした結果を出力する処理が含まれます。


'重複値をフィルタリングする基本コード
Sub FilterDuplicates()
    Set ws = ThisWorkbook.Sheets("Sheet1")
    lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row '最後の行を取得
    ws.Range("A1:A" & lastRow).RemoveDuplicates Columns:=1, Header:=xlNo '重複値を削除
End Sub

コードの詳細解説

– `Set ws = ThisWorkbook.Sheets(“Sheet1”)`: シートを指定します。
– `lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row`: 最後の行を取得します。
– `ws.Range(“A1:A” & lastRow).RemoveDuplicates Columns:=1, Header:=xlNo`: 重複値を削除します。

応用例

基本コードを応用して、さまざまな業務シーンで使える5つ以上の例を提供します。

例1: 重複値の数をカウントする


'重複値の数をカウント
Sub CountDuplicates()
    ' コード
End Sub

例2: 重複値を別のシートに出力する


'重複値を別のシートに出力
Sub OutputDuplicatesToAnotherSheet()
    ' コード
End Sub

例3: 重複値を色分けする


'重複値を色分け
Sub ColorDuplicates()
    ' コード
End Sub

例4: 重複値を特定の条件でフィルタリングする


'特定の条件で重複値をフィルタリング
Sub FilterDuplicatesWithCondition()
    ' コード
End Sub

例5: 重複値をユーザーが指定したカラムでフィルタリングする


'ユーザーが指定したカラムで重複値をフィルタリング
Sub FilterDuplicatesInUserDefinedColumn()
    ' コード
End Sub

まとめ

Excel VBAを用いて、カラムの重複値を効率よくフィルタリングする方法にはいくつかの手法が存在します。基本的なコードから、さまざまな応用例までを紹介しましたので、これを機にVBAでのデータ処理スキルを高めてください。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次