【お題】絵本のタイトル

お世話になります
エクセルのフィルターをかけて列セルの同じ項目を取り出せますが

 列セル  フィルターをかけたら
例)1     1
   1     2
   2
   2
   2 

とか列セルの同じ数字をフィルターを使わずにVBAを使いとりだし、かつ同じ入力した全ての数字の1つだけ取り出し別のセルに貼り付けたいと思っています
 例)1が2つ 2が3つあっても1、2を頭の1つだけとりだしたい
  取り出すのを1列のみです

よい方法があれば教えて下さい

A 回答 (2件)

こんばんは。



「フィルターを使わずにVBAを」ということですが、VBAで、なぜオートフィルタやフィルタオプョションなどを使わずに、という設定が必要なのかもわからないです。VBAの専門としている人が、他の方法がないかと考えるなら、なるべく、ご自身で考えてくださいね。そうでなければ、フィルタオプションで十分だと思います。

以下は、可もなく不可もなくの、ごく一般的なVBAの解答です。

'----------------------------------------------
'標準モジュール
'----------------------------------------------

Sub Test1()
  Dim rng As Range
  Dim objDic As Object
  Dim c As Variant
  
  Set objDic = CreateObject("Scripting.Dictionary")
  '範囲
  Set rng = Range("A1", Cells(Rows.Count, 1).End(xlUp))
  With objDic
    For Each c In rng
      If Not .Exists(c.Value) Then
        .Add c.Value, 1
      End If
    Next c
  End With
  '出力
  Range("B1").Resize(objDic.Count) = WorksheetFunction.Transpose(objDic.Keys)
  Set rng = Nothing
  Set objDic = Nothing

End Sub

この回答への補足

お世話になりました。
思うとおりに動くようになりました。

補足日時:2008/03/26 20:33
    • good
    • 0
この回答へのお礼

お世話になりました。
思うとおりに動くようになりました。

お礼日時:2008/03/26 20:35

フィルターの機能でできますよ。


範囲指定して、「データ」「フィルター」から「フィルターオプション」
条件検索の範囲などは空白のまま、重複するレコードは無視する にチェック入れて、OKします。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!