Microsoft ExcelでVBAを使用してユニークなアイテムを返し
この記事では、定義された範囲から一意の値を抽出するマクロを作成します。
この例の生データは、A7:A21の範囲の国名の重複エントリで構成されています。
定義された範囲から一意の値を抽出するために、「FindUniqueValues」マクロを作成しました。このマクロは、「送信」ボタンをクリックして実行できます。 「送信」ボタンをクリックする前に、セルH9に重複データを含む範囲のアドレスと、出力を表示する宛先のアドレスを指定する必要があります。
ロジックの説明
「findUniqueValues」マクロは、入力パラメーターとして2つの範囲オブジェクトを取ります。
最初のパラメーターは重複データを含む範囲を定義し、2番目のパラメーターは出力を含む開始セルの位置を定義します。パラメータを指定する必要があるため、このマクロを直接呼び出すことはできません。そのため、マクロを呼び出すための2番目のマクロ「MacroRunning」を作成しました。
「macroRunning」マクロは、ユーザーが入力したパラメーターを使用して「FindUniqueValues」マクロを呼び出します。
コードの説明
SourceRange.AdvancedFilter Action:= xlFilterCopy、_ CopyToRange:= TargetCell、Unique:= True RangeオブジェクトのAdvancedFilterメソッドは、特定の基準に基づいて範囲からデータをフィルタリングまたはコピーするために使用されます。一意の値のみをコピーするには、AdvancedFilterのUniqueパラメーターをTrueに設定する必要があります。
コードについては以下に従ってください
Option Explicit Sub FindUniqueValues(SourceRange As Range, TargetCell As Range) 'Using advance filter for extacting unique items in the source range SourceRange.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=TargetCell, Unique:=True End Sub Sub MacroRunning() 'Calling FindUniqueValues macro Call FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value)) End Sub
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、より良いものにする方法をお知らせください。 [email protected]までご連絡ください