|
▼ichinose さん:
>
>例題のようなデータがアクティブシートの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
>
>列が違う場合は、数式を変更して下さい。
>データ列に項目名をつければ、フィルタが使えます。
>コードは、そっちの方が簡単かも・・・。
尚、上記コードはアクティブシートのB列を作業列として使っています。
作業列は、どこでもよいですから、適当に変更して下さい。
|
|