Excel VBA質問箱 IV

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

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


9 / 13618 ツリー ←次へ | 前へ→

【82256】シートの中から必要なセルを複数取り出し、別シートに張り付けて並び替える かずこ 24/1/22(月) 17:43 質問[未読]

【82260】Re:シートの中から必要なセルを複数取り出... マナ 24/1/22(月) 22:28 発言[未読]
【82261】Re:シートの中から必要なセルを複数取り出... かずこ 24/1/22(月) 23:13 質問[未読]
【82262】Re:シートの中から必要なセルを複数取り出... マナ 24/1/22(月) 23:40 発言[未読]

【82260】Re:シートの中から必要なセルを複数取り...
発言  マナ  - 24/1/22(月) 22:28 -

引用なし
パスワード
   ▼かずこ さん:

>別シートに張り付けて並び替える

並び替えのルールを教えてください

【82261】Re:シートの中から必要なセルを複数取り...
質問  かずこ  - 24/1/22(月) 23:13 -

引用なし
パスワード
   ▼マナ さん:
>▼かずこ さん:
>
>>別シートに張り付けて並び替える
>
>並び替えのルールを教えてください


ご返信ありがとうございます。

並び替えが少し複雑で、説明が伝わりづらかったら申し訳ありません。
また、もし不可能でしたら全然構いません。

@ レーン番号の頭3桁と、中2桁が一致しているものは同じ列にまとめて、下1桁の数字で下から上に昇順で並び替えます。(データ同士の間の空白は不要です)

A @で作成したセルデータをひとまとまりとし、そこから又並び替えをします。
 レーン番号の頭3桁が同じ@は同じ行にまとめ、今度はレーン番号の真ん中2桁で左から昇順で並び替え  ます。(間の空白は不要です)

B Aで作成したひとかたまりを並び替えます。
 シートの上から下に、レーン番号の頭3桁を昇順で並び替えます。
 (左詰で、間に空白行をお願いします。)


以上よろしくお願いいたします。

【82262】Re:シートの中から必要なセルを複数取り...
発言  マナ  - 24/1/22(月) 23:40 -

引用なし
パスワード
   ▼かずこ さん:

どんな並び替えなのか全くわかりません。
とりあえず、たたき台として。

Sub test()
  Dim srtl As Object
  Dim c As Range, k As String
  Dim i As Long, r As Range, n As Long
  
  Set srtl = CreateObject("system.collections.sortedlist")
  
  For Each c In Columns(1).SpecialCells(xlCellTypeConstants)
    If c.Value Like "?##-##-#" Then
      k = c.Value
      Set srtl(k) = c
    Else
      Set srtl(k) = Union(srtl(k), c)
    End If
  Next
  
  Worksheets.Add
  For i = 0 To srtl.Count - 1
    Set r = srtl.getbyindex(i)
    If r.Count > 1 Then
      Cells(1).Offset(n).Resize(r.Count).Value = r.Value
      n = n + r.Count
    End If
  Next
    
End Sub

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