過去ログ

                                Page     512
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ソートに関しての質問  あみやき 02/12/12(木) 10:21
   ┗Re:ソートに関しての質問  Jaka 02/12/13(金) 10:51
      ┗Re:ソートに関しての質問  あみやき 02/12/13(金) 11:03
         ┗Re:ソートに関しての質問  Jaka 02/12/13(金) 11:49
            ┗Re:ソートに関しての質問  あみやき 02/12/13(金) 12:55
               ┗Re:ソートに関しての質問  Jaka 02/12/13(金) 13:56
                  ┗少し手直し  Jaka 02/12/13(金) 14:04
                     ┣お礼が遅れて申し訳ないです  あみやき 02/12/16(月) 11:33
                     ┗ちょっとしたバグです。  あみやき 02/12/17(火) 9:47
                        ┗誰もフォローしといてくれなかったのね!  クッパ 02/12/25(水) 15:58
                           ┣名前が変わっているのに気づきませんでした。by Jaka  Jaka 02/12/25(水) 16:02
                           ┗Re:誰もフォローしといてくれなかったのね!  あみやき 03/1/7(火) 21:29

 ───────────────────────────────────────
 ■題名 : ソートに関しての質問
 ■名前 : あみやき
 ■日付 : 02/12/12(木) 10:21
 -------------------------------------------------------------------------
   いつもお世話になっております。
ソートに関しての質問です。
どなたかご教授ください。
A行をからH行までソートしたいのですが、横のラインは崩さずに、Aを第一キーBを第二キーに・・・。というような感じでソートをかけたいのですが、問題がありまして、あ行は確実に存在するのですが、B行以降は空白行の場合もあります。その場合でもつめたりせずに、横のラインを保ちつつ、ソートをするにはどうしたら良いでしょうか??
例えばB行が空白行の場合、Aを第一キーBを第二キーとしていたものをAを第一キーCを第二キー・・・。といったようにしたいです。
どなたかよろしくお願いします。
   lastclm = Range("a1").End(xlToRight).Column
   
   For i = 0 To lastclm - 1
     m = lastclm - i
     Range("a1").Sort key1:=Cells(1, m), order1:=xlAscending, _
     header:=xlNo
   Next i
 
 ───────────────────────────────────────  ■題名 : Re:ソートに関しての質問  ■名前 : Jaka  ■日付 : 02/12/13(金) 10:51  -------------------------------------------------------------------------
   おはようございます。
あみやきさんのコードを試してみた所、うまくいっている様ですが...。
ご希望の物とどう違うのかアホな私には良く解りませんでした。

ソートする前のデータの並びと、ソート後のデータパターン例なども提示された方が良いと思いますけど...。
言葉だけで説明するのも難しいでしょうし。
私は、国語力が無いから図解入りが好みです。
 ───────────────────────────────────────  ■題名 : Re:ソートに関しての質問  ■名前 : あみやき  ■日付 : 02/12/13(金) 11:03  -------------------------------------------------------------------------
   Jaka さん、おはようございます。

いつもお世話になっております。

>あみやきさんのコードを試してみた所、うまくいっている様ですが...。
>ご希望の物とどう違うのかアホな私には良く解りませんでした。
>
>ソートする前のデータの並びと、ソート後のデータパターン例なども提示された方が良いと思いますけど...。
>言葉だけで説明するのも難しいでしょうし。
>私は、国語力が無いから図解入りが好みです。

例えばこんな感じで、B列が空白になる可能性があります(ならない場合もあります)

−−−−−−−−−−−−−−−−−−−−−−−
|  A  |   B  |   C    |
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333311|
−−−−−−−−−−−−−−−−−−−−−−−
|    0|      |99999999|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPK|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPP|
−−−−−−−−−−−−−−−−−−−−−−−
よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:ソートに関しての質問  ■名前 : Jaka  ■日付 : 02/12/13(金) 11:49  -------------------------------------------------------------------------
   >例えばこんな感じで、B列が空白になる可能性があります(ならない場合もあります)
>
>−−−−−−−−−−−−−−−−−−−−−−−
>|  A  |   B  |   C    |
>−−−−−−−−−−−−−−−−−−−−−−−
>| 1111|      | 3333333|
>−−−−−−−−−−−−−−−−−−−−−−−
>| 1111|      | 3333311|
>−−−−−−−−−−−−−−−−−−−−−−−
>|    0|      |99999999|
>−−−−−−−−−−−−−−−−−−−−−−−
>| 1111|      | 3333333|
>−−−−−−−−−−−−−−−−−−−−−−−
>| あいうえ|      |PPPPPPPK|
>−−−−−−−−−−−−−−−−−−−−−−−
>| あいうえ|      |PPPPPPPP|
>−−−−−−−−−−−−−−−−−−−−−−−

あの〜、まだ良く解らないんですけど。
これは、ソート後ですか?ソート前でしょうか?
できれば2つ記載してほしかったんですが...。
本当に読解力が無くてすみません。
 ───────────────────────────────────────  ■題名 : Re:ソートに関しての質問  ■名前 : あみやき  ■日付 : 02/12/13(金) 12:55  -------------------------------------------------------------------------
   いえいえわかりづらくて申し訳ないです。
これがソート前で
−−−−−−−−−−−−−−−−−−−−−−−
|  A  |   B  |   C    |
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333311|
−−−−−−−−−−−−−−−−−−−−−−−
|    0|      |99999999|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333334|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPK|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPP|
−−−−−−−−−−−−−−−−−−−−−−−
ソート後が
−−−−−−−−−−−−−−−−−−−−−−−
|  A  |   B  |   C    |
−−−−−−−−−−−−−−−−−−−−−−−
|    0|      |99999999|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333311|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|      | 3333334|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPK|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|      |PPPPPPPP|
−−−−−−−−−−−−−−−−−−−−−−−
もし以下のようにソート前にB列が空白列でなければ
−−−−−−−−−−−−−−−−−−−−−−−
|  A  |   B  |   C    |
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     1| 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     2| 3333311|
−−−−−−−−−−−−−−−−−−−−−−−
|    0|     3|99999999|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     4| 3333334|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|     5|PPPPPPPK|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|     6|PPPPPPPP|
−−−−−−−−−−−−−−−−−−−−−−−
ソート後は

−−−−−−−−−−−−−−−−−−−−−−−
|  A  |   B  |   C    |
−−−−−−−−−−−−−−−−−−−−−−−
|    0|     3|99999999|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     1| 3333333|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     2| 3333311|
−−−−−−−−−−−−−−−−−−−−−−−
| 1111|     4| 3333334|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|     5|PPPPPPPK|
−−−−−−−−−−−−−−−−−−−−−−−
| あいうえ|     6|PPPPPPPP|
−−−−−−−−−−−−−−−−−−−−−−−
となります。
ご理解いただけましたか?
よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:ソートに関しての質問  ■名前 : Jaka  ■日付 : 02/12/13(金) 13:56  -------------------------------------------------------------------------
   こんなんでどうでしょうか。

Sub momo()
  lastclm = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
  lastrow = Cells(Cells.Rows.Count, 1).End(xlUp).Row
  For i = 0 To lastclm - 1
    M = lastclm - i
    If Application.CountA(Range(Cells(1, M), Cells(lastrow, M))) > 0 Then
      Range("A1", Cells(lastrow, lastclm)).Sort key1:=Cells(1, M), order1:=xlAscending, _
      header:=xlNo
    End If
  Next i
End Sub
 ───────────────────────────────────────  ■題名 : 少し手直し  ■名前 : Jaka  ■日付 : 02/12/13(金) 14:04  -------------------------------------------------------------------------
   Sub mo改()
  lastclm = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
  lastrow = Cells(Cells.Rows.Count, 1).End(xlUp).Row
  For i = lastclm To 1 Step -1
    If Application.CountA(Range(Cells(1, i), Cells(lastrow, i))) > 0 Then
      Range("a1", Cells(lastrow, lastclm)).Sort key1:=Cells(1, i), order1:=xlAscending, _
      header:=xlNo
    End If
  Next i
End Sub
 ───────────────────────────────────────  ■題名 : お礼が遅れて申し訳ないです  ■名前 : あみやき  ■日付 : 02/12/16(月) 11:33  -------------------------------------------------------------------------
   Jaka さん、こんにちは。
いつもいつもお世話になりっぱなしで、ほんと感激です。
実行してみましたら、見事うまく処理を行うことが出来ました。
ありがとうございました。
今後ともよろしくお願いします。
 ───────────────────────────────────────  ■題名 : ちょっとしたバグです。  ■名前 : あみやき  ■日付 : 02/12/17(火) 9:47  -------------------------------------------------------------------------
   Jaka さん、おはようございます。
>Sub mo改()
>  lastclm = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
>  lastrow = Cells(Cells.Rows.Count, 1).End(xlUp).Row
>  For i = lastclm To 1 Step -1
>    If Application.CountA(Range(Cells(1, i), Cells(lastrow, i))) > 0 >Then
>      Range("a1", Cells(lastrow, lastclm)).Sort key1:=Cells(1, i), >order1:=xlAscending, _
>      header:=xlNo
>    End If
>  Next i
>End Sub
なのですが、A列目が空白の場合、うまくソートが行えないのですが、例えば、A列、B列ともに空白で、C〜F列をソートするといった場合はどう処理をすればよろしいでしょうか??もちろんA,B列中にデータがある場合はそちらが優先でKEYになるものとします。

お忙しいところ申し訳ございませんが、ご指導よろしくお願いします。
 ───────────────────────────────────────  ■題名 : 誰もフォローしといてくれなかったのね!  ■名前 : クッパ  ■日付 : 02/12/25(水) 15:58  -------------------------------------------------------------------------
   >A列目が空白の場合、うまくソートが行えないのですが、例えば、A列、B列ともに空白で、C〜F列をソートするといった場合はどう処理をすればよろしいでしょうか??もちろんA,B列中にデータがある場合はそちらが優先でKEYになるものとします。

これは、

>A行をからH行までソートしたいのですが、横のラインは崩さずに、Aを第一キーBを第二キーに・・・。というような感じでソートをかけたいのですが、問題がありまして、あ行は確実に存在するのですが、B行以降は空白行の場合もあります。その場合でもつめたりせずに、横のラインを保ちつつ、ソートをするにはどうしたら良いでしょうか??



提示されたデータなどからA列と1行目には、空白セルが無いと判断して下記コードを使いました。

lastclm = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
lastrow = Cells(Cells.Rows.Count, 1).End(xlUp).Row

上記コードのlastclm 、lastrowとソート範囲をあみやきさんの使用する方法に適した方法で求めてください。
最初UsedRangeを使おうかと思いましたが、欠点があるので止めました。
 ───────────────────────────────────────  ■題名 : 名前が変わっているのに気づきませんでした。by Jaka  ■名前 : Jaka  ■日付 : 02/12/25(水) 16:02  -------------------------------------------------------------------------
   ここに何も書いてないと拒否されるんですね。
知らなかった。
 ───────────────────────────────────────  ■題名 : Re:誰もフォローしといてくれなかったのね!  ■名前 : あみやき  ■日付 : 03/1/7(火) 21:29  -------------------------------------------------------------------------
   クッパ さんこんばんは。

お礼が遅れて申し訳ございません。
どうもありがとうございました。
大変参考になりました。
助かりました。
本当にありがとうございましたm(__)m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 512