Excelのオートフィルタで▼を押すと、
重複しないリストが出てくる。
これを配列に入れたい!って思ったことありませんか?
特にcsvデータで数千、数万行のデータを処理する場合、知っておいた方がいい知識です。
ググって調べてみたのですが、どれも冗長なコードが多くスマートなコードがなかったのでここで紹介します。
Dim Dic As Dictionary, Data As Variant,i As Long
Set Dic = CreateObject("Scripting.Dictionary")
Data = ActiveSheet.cells(1,1).currentRegion.Offset(1,0)
i = 1
Do While Data(i, 1) <> ""
buf = Data(i, 2)
If Not Dic.Exists(buf) Then
Dic.Add buf, buf
End If
i = i + 1
Loop
Dictionaryオブジェクトとは、連想配列を使ってデータをまとめて管理できるオブジェクトです。Dictionaryオブジェクトに関して詳細を知りたい方は下記サイトを参考にしてください。