🧸
配列の要素から、重複した要素を抜いて、一意の配列を作成するマクロ
はじめに
配列の要素から重複した要素を抜いて、新たに一意の要素の配列を作成する処理が必要になったため、マクロを作成しました。
マクロのソースコード
Sub RemoveDuplicates()
Dim originalArray() As Variant
Dim uniqueArray() As Variant
Dim dict As Object
Dim i As Long
Dim key As Variant
' サンプルの配列を定義
originalArray = Array("遠藤さくら", "井上和", "遠藤さくら", "佐藤楓", "一ノ瀬美空", "佐藤楓", "井上和", "金川紗耶")
' Dictionaryオブジェクトを作成
Set dict = CreateObject("Scripting.Dictionary")
' 配列の要素をDictionaryに追加(重複は自動的に除外される)
For i = LBound(originalArray) To UBound(originalArray)
key = originalArray(i)
If Not dict.exists(key) Then
dict.Add key, Nothing
End If
Next i
' Dictionaryのキーをユニークな要素として配列に変換
uniqueArray = dict.keys
' 結果を表示(例としてイミディエイトウィンドウに出力)
For i = LBound(uniqueArray) To UBound(uniqueArray)
Debug.Print uniqueArray(i)
Next i
End Sub
実行結果
最後に
ぜひ活用していただけると幸いです。
Discussion