- 日時: 2007/08/13 14:46
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[エクセル][][] * * キーワード:オートフィルター,抽出,重複しないリスト,, * ***********************************************************************************
元質問: オートフィルタのドロップダウンリスト取得 - marl55 2003/12/03-09:57 No.6863
オートフィルタで抽出した値をゲットしたいわけではないのです。オートフィルタのドロップダウンリストに出てくる項目を取得したいのです。だから、その列のセル内容を全てゲットして重複を消すのと同じことなのですが、
----------------------------------------------------------------------------------- 指定列のデータから重複しないデータを抽出 - 花ちゃん 2007/08/13 -----------------------------------------------------------------------------------
'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ 'Excel 操作部分(指定列のデータから重複しないデータを抽出) '仮データの書込み Dim Dat(1 To 10, 0) As Variant Dat(1, 0) = "品 名": Dat(2, 0) = "みかん": Dat(3, 0) = "トマト" Dat(4, 0) = "いちご": Dat(5, 0) = "みかん": Dat(6, 0) = "トマト" Dat(7, 0) = "いちご": Dat(8, 0) = "みかん": Dat(9, 0) = "トマト" Dat(10, 0) = "いちご" Dim xlRange As Excel.Range Set xlRange = xlSheet.Range("B2:B11") xlRange.Value = Dat '下記は、表示確認の為に1秒間待ってリストを抽出しているだけです。 xlApp.Wait Now + TimeValue("0:00:1") '------------------------------------------------------------------ 'B列のデータリストから重複したものを除いたリストだけを表示 xlSheet.Range("B2:B11").AdvancedFilter _ xlFilterInPlace, xlSheet.Range("B2"), , True Dim Count As Long, i As Long '抽出したデータ件数を取得 Count = CStr(xlSheet.Range("B2").End(xlDown).Row) For i = 3 To Count If xlSheet.Cells(i, 2).RowHeight > 0 Then '抽出したデータを取得 Debug.Print xlSheet.Cells(i, 2).Value End If Next i
'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
|