Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


15427 / 76738 ←次へ | 前へ→

【66790】Re:範囲内で一番多い値を取得する方法
お礼  かな  - 10/10/6(水) 17:00 -

引用なし
パスワード
   ▼kanabun さん:

あどばいすありがとうございます

いろいろ試行錯誤して、dictionaryオブジェクトを利用して、
むりくりプログラムを完成させてみました

ヒントを頂きありがとうございました


>▼かな さん:
>
>>この中で、一番値の多いもの。
>>この場合は 10 になるのですが・・・
>>このように10を取得するのにいい方法といいますか、
>何か適した関数とかあるのでしょうか?
>
>関数では思いつかなかったので、ユーザー定義関数ではいかが?
>
>Function MaxCount(r As Range)
> Dim i As Long, k As Long
> Dim v
> Dim dic As Object
> 
> v = r.Value
> Set dic = CreateObject("Scripting.Dictionary")
> For i = 1 To UBound(v)
>   dic(v(i, 1)) = dic(v(i, 1)) + 1
> Next
> For Each v In dic.Keys()
>  If k < dic(v) Then k = dic(v): MaxCount = v
> Next
> Set dic = Nothing
>End Function
>
>
>どこかのセルに =MaxCount(A1:A12)
0 hits

【66765】範囲内で一番多い値を取得する方法 かな 10/10/5(火) 10:48 質問
【66768】Re:範囲内で一番多い値を取得する方法 kanabun 10/10/5(火) 12:47 発言
【66790】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 17:00 お礼
【66769】Re:範囲内で一番多い値を取得する方法 Jaka 10/10/5(火) 13:16 発言
【66791】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 17:03 お礼
【66770】Re:範囲内で一番多い値を取得する方法 独覚 10/10/5(火) 13:35 回答
【66773】Re:範囲内で一番多い値を取得する方法 kanabun 10/10/5(火) 16:01 お礼
【66789】Re:範囲内で一番多い値を取得する方法 かな 10/10/6(水) 16:56 お礼

15427 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free