Excel VBA質問箱 IV

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

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


4552 / 76734 ←次へ | 前へ→

【77802】Re:一つのセル内にカンマで区切って表示
発言  γ  - 15/12/28(月) 6:44 -

引用なし
パスワード
   一例です。

Sub test()
  Dim dic As Object
  Dim r As Range
  Dim s As String
  Dim name As String
  
  Set dic = CreateObject("Scripting.Dictionary")
  
  '氏名、得点に基づき、該当する得点ランク別のdictionaryに氏名を保持
  For Each r In Range([A1], [A1].End(xlDown))
    name = r.Value
    s = getRank(r.Offset(, 1).Value)
    If Not dic.exists(s) Then
      Set dic(s) = CreateObject("Scripting.Dictionary")
    End If
    dic(s)(name) = Empty
  Next
  
  Columns("D").ClearContents
  
  'カンマで文字列連結して書き出し
  For Each r In Range([C1], [C1].End(xlDown))
    If dic.exists(r.Value) Then
      r.Offset(, 1).Value = Join(dic(r.Value).keys, ",")
    End If
  Next
 
End Sub

'得点毎のランクを得る(得点は整数と仮定)
Function getRank(v As Long) As String
  Select Case v
    Case Is >= 90: getRank = "90〜100"
    Case Is >= 70: getRank = "良"
    Case Is >= 50: getRank = "可"
    Case Else: getRank = "不可"
  End Select
End Function

1 hits

【77801】一つのセル内にカンマで区切って表示 A/C 15/12/27(日) 23:50 質問[未読]
【77802】Re:一つのセル内にカンマで区切って表示 γ 15/12/28(月) 6:44 発言[未読]
【77803】Re:一つのセル内にカンマで区切って表示 γ 15/12/29(火) 8:09 発言[未読]

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