|
▼いちご さん:
こんばんは。
>エクセルの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
列が違う場合は、数式を変更して下さい。
データ列に項目名をつければ、フィルタが使えます。
コードは、そっちの方が簡単かも・・・。
|
|