ActiveSheet.UsedRange.Addressで
並べ替えの範囲名を指定することはできないのでしょうか?
Sub Sample()
Cells(1, 1).AutoFilter
ActiveSheet.AutoFilter.Range.Sort Key1:=ActiveSheet.UsedRange.Address, Order1:=xlAscending, Header:=xlYes
End Sub
を動かすと、実行時エラー1004になってしまいます。
Key1:=Range("A1")にするとうまく行きますが、
キチンと範囲を指定してあげたいのですが、その場合どうすればいいでしょう?
No.2ベストアンサー
- 回答日時:
sortの命令のマクロの書き方を全く誤解しています。
>キチンと範囲を指定してあげたいのですが、その場合どうすればいいでしょう?
正しい:
(並べ替える対象範囲).sort key1:=(並べ替え基準), order1:=…
並べ替えの範囲を指定するには、先頭の「並べ替える対象範囲」の部分にそれを与えます。
つまりあなたのマクロの先頭部分で正解です。
key1のところには、どの列を基準に全体を並べ替えをするのかを指定します。
アナタのマクロはここが全く間違いです。
例えば指定範囲をA列を基準に並べ替えたいなら:
cells(1,1).autofilter
activesheet.autofilter.range.sort key1:=range("A1"), order1:=xlascending, header:=xlyes
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Excel(エクセル) エクセル VBAの構文について 2 2023/02/10 18:26
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
昨日、エクセルVBAで、隣のセル...
-
excel ある部分だけをコピペし...
-
並べ替えのマクロで対象行の範...
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
(Excel2003)すぐ左の最後の行...
-
抽出、マクロ関係になると思います...
-
エクセルのふりがなの関数について
-
Excel(VBA)データ入力に応じて...
-
EXCELで同一フォーマットのシー...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで複数設定したハイパーリンク先...
-
EXCELで1ヶ月分の連続した日付...
-
Excel、同じフォルダ内のExcel...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
Excelで同じシートのコピーを一...
-
シート1に列挙したNGワードを...
-
VBAでどうプログラムしたらいい...
-
sumif関数を使って複数シートに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excelで連続印刷をするマクロ
-
Excelでセル内の数式は残し値だ...
-
「マクロ」の足し算の式を教え...
-
エクセル VBA 小数点を含む数字...
-
エクセルで全ての数字間にカン...
-
Excel(VBA)データ入力に応じて...
-
wordのvbaでハイパーリンク設定...
-
Excel にて非表示行を探すワー...
-
Excel2007 セルを右方向に削除...
-
エクセル2003でマクロをおこな...
-
エクセルで、行ごとの並び替え...
-
値貼り付けをしても書式も貼り...
-
VBA コピーを有効行までループ...
-
yyyy/mm/ddの日付に一括変換す...
-
整数行を残し小数点の行を削除...
-
エクセルで行と列を入れ替えキ...
-
エクセルで特定の数字となる組...
-
エクセルで連番をマクロで
おすすめ情報