これは私にとって初めてのものです。私は私のwsの列にいくつかの異なる値をカウントしようとしている、問題は同じ値が何回も繰り返され、私は一度だけ数えたいと思う。いくつかの友人は私のコードを助けようとしましたが、私は今や失われています。たとえば、なぜ私が関数を使用しているのか分からない、あるいはなぜ "Option Explicit"をその上に置く必要があるのかアイデアは大歓迎です。Excelワークシートの列で一意の値を数えます。
Option Explicit
Function CountUnique(datarange As Range)
Dim datarange
Dim CheckCell
Dim Counter As Double
Counter = 0
For Each CheckCell In datarange.Cells
Counter = Counter + (1/(WorksheetFunction.CountIf(datarange, CheckCell.Value)))
Next
CountUnique = Counter
End Function
を呼び出します。 VBAが唯一の方法であると分かっているならば、ADODB(ワークブックはドライブに保存する必要があります)を介して集計関数を使用するSQL Distinctやループ内の辞書を使用してください。 – omegastripes