Excel自作 VBA 関数
セル範囲内の値を名寄せして個数を数える関数です。
重複する値の個数等を数える時にご使用ください。
VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法
登録されたら、シート上からユーザー関数「CountGI」が使用できます。
使い方は
ワークシート上で = CountGI (セル範囲) の関数として使用することで、 市区町村を を取得できます。
【例】
CountGI(セル範囲)
セル範囲の値を名寄して個数をカウントする関数
A B C
1 東京 神奈川 埼玉
2 神奈川 秋田 東京
‘CountGI(A1:C2) → 4
Function CountGI(R As Range)
'CountGI(セル範囲)
'セル範囲の値を名寄して個数をカウントする関数
' A B C
'1 東京 神奈川 埼玉
'2 神奈川 秋田 東京
'CountGI(A1:C2) → 4
On Error GoTo EXITFUN
Dim A As Variant
Dim ListA
Dim ListG
Dim i1 As Long
Dim i2 As Long
Dim i3 As Long: i3 = 1
Dim C As Long
A = R
ReDim ListA(1 To UBound(A, 1) * UBound(A, 2))
For i1 = LBound(A, 2) To UBound(A, 2)
For i2 = LBound(A, 1) To UBound(A, 1)
If A(i2, i1) <> "" Then
ListA(i3) = A(i2, i1)
i3 = i3 + 1
End If
Next
Next
If ListA(1) = "" Then
CountGI = 0
Exit Function
Else
C = 1
End If
For i1 = 2 To UBound(ListA)
For i2 = 1 To i1 - 1
If ListA(i1) = ListA(i2) Or ListA(i1) = "" Then
GoTo ExitCal
End If
Next
C = C + 1
ExitCal:
Next
CountGI = C
Exit Function
EXITFUN:
CountGI = 0
End Function
ここで紹介したコード使用による損害に対しては一切責任は負えません。