Excel VBA質問箱 IV

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

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


13300 / 76733 ←次へ | 前へ→

【68939】Re:グループ分け後、枠囲み
発言  kanabun  - 11/4/29(金) 20:42 -

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

>> できるならば、並べる部活動のグループの並べる順番までもコントロールしたいのですが。

>部活動の名称ははじめから決まっていて、その並び順も決まっているということ
なら、

【Order】というシートのA列に
[1] バスケ部
[2] バレー部
[3] テニス部
[4] 野球部
のように、部活名を並べたい順にリストしておいてください。

対象シートを選択して、実行です。
Sub Try3()
  Dim dic As Object
  Dim i As Long, k As Long, n As Long
  Dim v, vv, sp
  Dim ss As String
  Dim c As Range
  
  Set dic = CreateObject("Scripting.Dictionary")
  For Each c In Worksheets("Order").Cells(1) _
           .CurrentRegion.Resize(, 1)
    i = i + 1
    dic(c.Value) = i
  Next
    
  With Cells(1).CurrentRegion
    v = .Value
    n = UBound(v)
    ReDim vv(1 To n + dic.Count, 0)
    For i = 1 To n
      ss = v(i, 1)
      vv(i, 0) = dic(ss)
    Next
    For i = n + 1 To n + dic.Count
      k = k + 1
      vv(i, 0) = k
    Next
  End With
  Range("C1").Resize(n + dic.Count).Value = vv
    
  With Cells(1).CurrentRegion
    .Sort Key1:=.Columns(3), Header:=xlNo
    .Columns(3).Clear
    .Resize(, 2).SpecialCells(xlConstants) _
        .BorderAround xlContinuous
  End With
  
End Sub

2 hits

【68934】グループ分け後、枠囲み ひろし 11/4/29(金) 13:02 質問
【68935】Re:グループ分け後、枠囲み kanabun 11/4/29(金) 15:10 発言
【68936】Re:グループ分け後、枠囲み oyoyo 11/4/29(金) 18:36 発言
【68937】Re:グループ分け後、枠囲み UO3 11/4/29(金) 18:46 回答
【68940】Re:グループ分け後、枠囲み kanabun 11/4/29(金) 20:54 発言
【68941】Re:グループ分け後、枠囲み UO3 11/4/29(金) 22:26 発言
【68942】Re:グループ分け後、枠囲み UO3 11/4/29(金) 23:08 発言
【68938】Re:グループ分け後、枠囲み kanabun 11/4/29(金) 20:19 発言
【68939】Re:グループ分け後、枠囲み kanabun 11/4/29(金) 20:42 発言
【68943】Re:グループ分け後、枠囲み ひろし 11/4/30(土) 17:50 お礼
【68947】Re:グループ分け後、枠囲み UO3 11/5/1(日) 20:49 回答
【68977】Re:グループ分け後、枠囲み ひろし 11/5/5(木) 12:08 お礼

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