| 
    
     |  | ▼いちご さん: こんばんは。
 
 >エクセルの1列に”A","B","C","SC"という全角のアルファベットが並んでいます。
 >A
 >C
 >C
 >SC
 >(実際はめっちゃ沢山有り、現状はCOUNTIFで1つ1つ範囲指定して数えています)
 >同じファイルの別シートに表を作成してAは1、Bは0、Cは2、SCは1
 >というふうにマクロで表示させたいのですが
 >どうしたらよいでしょう?
 >毎日する作業なので、どうぞ知恵をお貸しください。
 
 例題のようなデータがアクティブシートのA列(A1からデータがあります)にあったとしましょう。
 以下のコードは、アクティブシートの次のシート(右側のシート)のA1から下行に
 数えるデータ、B1から下行にカウントを表示します。
 
 '========================================================
 Sub test()
 Dim rd As Range
 Dim ans As Range
 Set rd = Range("a1", Cells(Rows.Count, 1).End(xlUp))
 With rd.Offset(0, 1)
 .Formula = "=IF(COUNTIF($A$1:A1,A1)>1,"""",A1)"
 .Value = .Value
 Set ans = .SpecialCells(xlCellTypeConstants)
 ans.Copy Worksheets(2).Range("a1")
 .Value = ""
 End With
 With ActiveSheet.Next
 With .Range(.Cells(1, 2), .Cells(ans.Count, 2))
 .Formula = "=countif(" & rd.Address(, , , True) _
 & ",a1)"
 End With
 End With
 End Sub
 
 列が違う場合は、数式を変更して下さい。
 データ列に項目名をつければ、フィルタが使えます。
 コードは、そっちの方が簡単かも・・・。
 
 
 |  |