| 
    
     |  | ▼どんたく さん: おはようございます。
 
 >初心者です。たびたび経験してそのたび悩んでいます。
 >あるリストがある。其の中には重複している可能性があるデータがあります。
 >つまり
 
 例題をちょっと変更して
 A列
 1  固体命
 2  A
 3  B
 4  A
 5  C
 6  B
 ・  ・
 ・  ・
 
 とExcelでは、一行目は項目名を付加する癖を付けてください
 そうする方がExcel機能が使いやすいですから・・。
 (↑本当は、既にそうされているのかもしれませんが。)
 
 上記のようにA列にデータがある事を想定します。
 
 結果は、同シートのセルE1から表示するコードです。
 
 標準モジュールに
 '==========================================================
 Sub main()
 Dim rngA As Range
 Dim rngE As Range
 Set rngA = Range("a1", Cells(Rows.Count, "a").End(xlUp))
 rngA.AdvancedFilter xlFilterCopy, , Range("e1"), True
 Set rngE = Range("e1", Cells(Rows.Count, "e").End(xlUp))
 With rngE
 .Cells(.Count + 1).Formula = "項目数 " & .Count - 1
 With .Offset(0, 1)
 .Cells(1).Value = "出現回数"
 .Range("a2:a" & .Count).Formula = _
 "=countif(" & rngA.Address & ",e2)"
 End With
 End With
 End Sub
 
 mainを実行してみてください。
 
 |  |