Excel VBA質問箱 IV

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

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


4535 / 76733 ←次へ | 前へ→

【77819】Re:点数のランキング
発言  マナ  - 15/12/31(木) 23:08 -

引用なし
パスワード
   ▼まさひで さん:

1)データを1個ずつ辞書に登録
2)新規シートに登録結果を書き出し
3)回数の多い順に並べ替え
4)回数の多いものトップ5でフィルター

Sub test()
  Dim dic As Object
  Dim c As Range
  
  Set dic = CreateObject("scripting.dictionary")
  
  For Each c In Range("a1").CurrentRegion   '★データ範囲
    dic(c.Value) = dic(c.Value) + 1
  Next
  
  With Worksheets.Add
    .Range("a1:b1").Value = Array("番号", "回数")
    .Range("a2").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.keys)
    .Range("b2").Resize(dic.Count).Value = WorksheetFunction.Transpose(dic.items)
    
    With .Range("a1").CurrentRegion
      .Sort Key1:=.Columns(2), Order1:=xlDescending, Header:=xlYes
      .AutoFilter Field:=2, Criteria1:="5", Operator:=xlTop10Items
    End With
  End With

End Sub
6 hits

【77817】点数のランキング まさひで 15/12/31(木) 14:53 質問[未読]
【77819】Re:点数のランキング マナ 15/12/31(木) 23:08 発言[未読]
【77822】Re:点数のランキング γ 16/1/2(土) 7:27 発言[未読]

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