• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル並べ替え VBA)

エクセル並べ替え VBA

このQ&Aのポイント
  • エクセル並べ替えの範囲名を指定できないのでしょうか?
  • VBAを使ってエクセルの並べ替えを行いたい場合、範囲名の指定ができない問題が起きます。
  • キチンと範囲を指定したい場合、どのようにすれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

sortの命令のマクロの書き方を全く誤解しています。 >キチンと範囲を指定してあげたいのですが、その場合どうすればいいでしょう? 正しい: (並べ替える対象範囲).sort key1:=(並べ替え基準), order1:=… 並べ替えの範囲を指定するには、先頭の「並べ替える対象範囲」の部分にそれを与えます。 つまりあなたのマクロの先頭部分で正解です。 key1のところには、どの列を基準に全体を並べ替えをするのかを指定します。 アナタのマクロはここが全く間違いです。 例えば指定範囲をA列を基準に並べ替えたいなら: cells(1,1).autofilter activesheet.autofilter.range.sort key1:=range("A1"), order1:=xlascending, header:=xlyes

zkfjcnwniwwwt
質問者

お礼

どうもありがとうございました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 1行目(項目行)・1列目に空白がない場合は Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes としてみてはどうでしょうか? 途中に空白があり最終セルA1~最終セルまでを並び替えするのであれば ActiveSheet.UsedRange.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes といったような具合でもOKだと思います。m(_ _)m

zkfjcnwniwwwt
質問者

お礼

どうもありがとうございました。

関連するQ&A