[解決済み] VBA RangeクラスのSortメソッドに失敗しました。
2022-02-12 17:20:47
質問
このトピックに関するスレッドがいくつかあることは知っていますが、どの回答もこのエラーを解決する助けにはなりません。
3つのキーを使ってテーブルをソートしようとしているのですが、「"ランタイムエラー '1004'」というエラーが表示されます。RangeクラスのSortメソッドに失敗しました"。
"Range("L2")" を ".Range("L2")" に変更してみたところ、"Compile error.というエラーが表示されました。Invalid or unqualified reference".というエラーが発生しました。
列を使用する代わりに実際の範囲を指定してみたり、最後の2つのキーを削除して最初のキーだけを試してみましたが、まだランタイムエラーが発生します。
shtData.Activate
shtData.Range(Range("A2"), Range("Z8000").End(xlUp)).Sort _
Key1:=Range("L2"), Order1:=xlAscending, _
Key2:=Range("M2"), Order2:=xlAscending, _
Key3:=Range("B2"), Order3:=xlAscending, _
Header:=xlYes
何かご指摘があれば、ぜひお願いします。昨日これを動作させたところ、エクセルがクラッシュしてしまい、行った変更を回復できなかったのですが、なぜ今日動作させることができないのかが分かりません。
解決方法を教えてください。
Z列にデータがない可能性が高いです。
データ行の範囲が空のセルではなく、列 "A"によって安全にサイズ調整できる場合、次のようになります。
Option Explicit
Sub main()
Dim shtData As Worksheet
Set shtData = Worksheets("Data") '<--| some setting of 'shtData'
With shtData
.Range("Z2", .Cells(.Rows.Count, "A").End(xlUp)).Sort _
Key1:=.Range("L2"), Order1:=xlAscending, _
Key2:=.Range("M2"), Order2:=xlAscending, _
Key3:=.Range("B2"), Order3:=xlAscending, _
Header:=xlYes
End With
End Sub
関連
-
[解決済み] VBA RangeクラスのSortメソッドに失敗しました。
-
[解決済み] Access VBAで "Duplicate declaration in current scope "というエラーが発生する。
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 多次元配列の値によるソート方法
-
[解決済み] 辞書をキーでソートするにはどうしたらいいですか?
-
[解決済み] カスタムオブジェクトのArrayListをプロパティでソートする
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Excel VBAのByRef引数の型の不一致
-
[解決済み] オートメーションエラー - 大惨事 EXCEL VBA
-
[解決済み] VBAのコードに「Label Not define」がありますが、これは何ですか?
-
[解決済み] VBA:マクロでMSXML2.DOMDocumentがMSXML2.DOMDocument40に変更された。
-
[解決済み] コンパイルエラーです。Forがない場合は次へ|VBA
-
[解決済み] VBAを使用してExcelシートの空白でない列の数を求めることができます。
-
[解決済み] VBAでファイルを削除する
-
[解決済み] あるディレクトリから別のディレクトリにファイルをコピーするVBA
-
[解決済み】Office VBA Editorでコードのブロックにコメントやアンコメントを付ける方法
-
[解決済み】Excel VBAでSelectを使用しないようにする方法