添付のように任意の列にある氏名をカウント(同名が複数行ある時は同名として一つでカウント)して、合計結果をMSGBOXに表示したいのですが、どのようにすればいいでしょうか?
※添付の場合は合計7名と表示
教えていただくと大変助かります。
いろいろなやり方があると思いますが、Dictionary を使用したやり方です。
Sub myCount() Dim myDic As Object Set myDic = CreateObject("Scripting.Dictionary") Dim rg As Range For Each rg In Range("A2", Range("A" & Rows.Count).End(xlUp)) If Not IsEmpty(rg.Value) Then If Not myDic.Exists(rg.Value) Then myDic.Add rg.Value, "" End If End If Next MsgBox "全部で" & myDic.Count & "名です" End Sub
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_dictionary.ht...
動作を確認しました。
みごとに希望通りに動きました!
Mookさん、いつもありがとうございます!