人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAです。

添付のように任意の列にある氏名をカウント(同名が複数行ある時は同名として一つでカウント)して、合計結果をMSGBOXに表示したいのですが、どのようにすればいいでしょうか?

※添付の場合は合計7名と表示

教えていただくと大変助かります。

1216130852
●拡大する

●質問者: hananeko_0
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:カウント
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Mook
●60ポイント ベストアンサー

いろいろなやり方があると思いますが、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さん、いつもありがとうございます!



●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ