tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
指定列のデータから重複しないデータを抽出(VB6.0 基本編) ( No.13 )  [親スレッドへ]
日時: 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

'☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆



 [スレッド一覧へ] [親スレッドへ]