[[20100622095053]] 『繰り返す1行毎の並び替え』(いしだ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『繰り返す1行毎の並び替え』(いしだ)

ご教授お願いいたします。

EQ5:FT60の範囲の表があります。表の中には、1行ごとに、数字が2つ入っており、そのほかは、記号が入っています。
EQ5:ET5を範囲指定し、5行を「現在見えている範囲を並び替える」→列単位で並び替え→最優先5行→ とし、行ごとにある2つの数字を表の1番、2番目に左端にならべる作業を行いたいのです。自動記録で取ったマクロになります。

Sub 縦に並び替え55行分()

Range("EQ5:FT5").Select

    Selection.Sort Key1:=Range("EQ5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
        :=xlPinYin, DataOption1:=xlSortNormal

End Sub
この作業をEQ5:FT5〜EQ60:FT60まで55行分行うマクロをご教授いただければ幸いです。


 Range("EQ5:FT5").Select →Range("EQ5:FT60").Select ではどうですか?
           ^^^^                       ^^^^
 (kei)

kei様
さっそくご連絡ありがとうございます。
試みたところ、EQ5:FT60の範囲が、5行を優先に並び替えられ、5行目は数字セルが左に集まりますが、
他の行では、5行目の並び替えに応じた並び替えとなり、数字セルは左側に集まりません。。

Range("EQ5:FT5").Select

    Selection.Sort Key1:=Range("EQ5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
        :=xlPinYin, DataOption1:=xlSortNormal

Range("EQ6:FT6").Select

    Selection.Sort Key1:=Range("EQ6"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
        :=xlPinYin, DataOption1:=xlSortNormal

このように、一列ごとにマクロを書いていけばイメージどおりにはなるのですが。。。

引き続きご指導いただければ幸いです。(石田)


 すみません。1行ごとの並べ替えですね。。
 SELECTを外さなくっちゃ;;  とりあえず・・

 Sub 縦に並び替え55行分V2()
    Dim i As Integer

    For i = 5 To 60
        Range(Cells(i, "EQ"), Cells(i, "FT")).Select
        Selection.Sort Key1:=Cells(i, "EQ"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
            :=xlPinYin, DataOption1:=xlSortNormal
    Next i
 End Sub
 (kei)

 SELECTを外しました。。

 Sub 縦に並び替え55行分V3()
    Dim i As Integer

    For i = 5 To 60
        Range(Cells(i, "EQ"), Cells(i, "FT")).Sort _
        Key1:=Cells(i, "EQ"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, SortMethod _
            :=xlPinYin, DataOption1:=xlSortNormal
    Next i
 End Sub
 (kei)

kei様

ありがとうございました!
いろいろ応用できるよう勉強していきたいと思います!
今後ともよろしくお願いいたいします。(いしだ)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.