過去ログ

                                Page     488
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼マクロで  Tori3 02/12/24(火) 22:16
   ┗Re:マクロで  りん 02/12/24(火) 23:56
      ┗Re:マクロで  Tori3 02/12/25(水) 13:41
         ┗Re:マクロで  ポンタ 02/12/25(水) 14:12
            ┗Re:マクロで  Tori3 02/12/25(水) 20:18
               ┗Re:マクロで  ポンタ 02/12/25(水) 20:43
                  ┗Re:マクロで  Tori3 02/12/26(木) 16:08

 ───────────────────────────────────────
 ■題名 : マクロで
 ■名前 : Tori3
 ■日付 : 02/12/24(火) 22:16
 -------------------------------------------------------------------------
    初心者ですが、どなたか教えてください。

A列に数次が並んでます。 それを元に並べ替えを、マクロの自動記録でしたものを
もとに、マクロから並べ替えをすると

 実行時エラー '1004'
並べ替えの参照が正しくありません。 並べ替えるデータ内にあることと「最優先される
キー」ボックスが空白でないことを確認してください。
  
 というエラーがでてしまいます。

マクロの記録は、次のものです。

  Columns("A:A").Select
  Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess,
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom,        SortMethod:=xlStroke

 何が悪いのでしょうか?   よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 02/12/24(火) 23:56  -------------------------------------------------------------------------
   Tori3 さん、こんばんわ。

>A列に数次が並んでます。 それを元に並べ替えを、マクロの自動記録でしたものを
>もとに、マクロから並べ替えをすると
 「それを元に」ということですが、実際はA列だけ並べ替えるのでしょうか?

> 実行時エラー '1004'
>並べ替えの参照が正しくありません。 並べ替えるデータ内にあることと「最優先される
>キー」ボックスが空白でないことを確認してください。
Sub Test()
  Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, _
     Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
     Orientation:=xlTopToBottom, SortMethod:=xlStroke
End Sub
これではエラーになりませんでした(XL97 & WinMe)
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : Tori3  ■日付 : 02/12/25(水) 13:41  -------------------------------------------------------------------------
   りんさん 早速ありがとうございます。
 
 いろいろ不手際があり申し訳ありません。
「数次」は『数字」の間違いです。

A列には6桁の数字が200ほど並んでいます。それを元にほかの行も一緒に並べ替えたいのです。

 XL2000 & Win2000 で[データ][並べ替え]でやっていくと、うまくいくんですが、
それをマクロに記録して、実行してみるとエラーになります。
 なにか他に問題があるんでしょうか。
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : ポンタ  ■日付 : 02/12/25(水) 14:12  -------------------------------------------------------------------------
   並べ替えをしたいシートのシートモジュールに
以下をコピペして実行してみてください。

実行した結果がお望みのものと違い場合は
どう違うのか返信してください。

Sub test()
  Range("A:A").SortSpecial
End Sub
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : Tori3  ■日付 : 02/12/25(水) 20:18  -------------------------------------------------------------------------
    ポンタさん ありがとう御座います。

 A列に関しては、順調です。 こんなに簡単な文でいいんですね。 目からウロコです。
 
 もしよかったら、ついでに行全体も並べ替えられますか ?
 
 さらに、列の範囲を、たとえば、"A3:A200" というようなことも出来るのでしょうか。
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : ポンタ  ■日付 : 02/12/25(水) 20:43  -------------------------------------------------------------------------
   >さらに、列の範囲を、たとえば、"A3:A200" というようなことも出来るのでしょうか。

Sub test()
  Range("A3:A200").SortSpecial
End Sub

ということでしょうか?

ちなみに、B列をキーにしてA列〜C列の並べ替えをするなら、
こんな感じになります。

Sub test()
  Range("A3:C200").SortSpecial Key1:=Range("B3:B200")
End Sub
 ───────────────────────────────────────  ■題名 : Re:マクロで  ■名前 : Tori3  ■日付 : 02/12/26(木) 16:08  -------------------------------------------------------------------------
   ポンタさん ありがとう。

 全てうまくいきました。

 ながいあいだ、あれこれやっていたのが、これですっきりしました。
今後ともよろしくお願いします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 488