- ベストアンサー
マクロでの並び替え
V列の2行目からDATAが入っています。 DATAには、ブランク、L221、L222があります。 DATAの並び替えを下記のようにしたいのですが、 教えてください。 ブランク L221 L222 マクロで記述したい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 以下のようには出来るけれども、あまり、難しいことは考えないほうがよいと思いますね。わけがわからなくなりますよ。自分の処理できる範囲内で、作ったほうがよいと思います。 Sub Main() Dim a As Variant '範囲の一番上のセルを選択 Set r = Range(ActiveCell, ActiveCell.End(xlDown)) 'または、 Set r = Selection '範囲選択 ReDim a(1 To r.Count) For i = 1 To r.Count a(i) = r.Cells(i, 1).Value Next i ReDim Preserve a(1 To r.Count) Babble_SortR a r.Value = Application.Transpose(a) End Sub Sub Babble_SortR(a) 'バブルソートメソッド Dim u As Long Dim i As Long Dim j As Long Dim t As Variant u = UBound(a) i = LBound(a) Do While i < u j = u Do While j > i If a(j) < a(i) Then '昇順 t = a(j) a(j) = a(i) a(i) = t End If j = j - 1 Loop i = i + 1 Loop End Sub