2017-06-16 12 views
0

範囲をソートしようとしています(3列を含む)2列目のデータをソートしたいのですが、最初の列を介して。 。範囲をソートすると、範囲が空であると表示されます

第2および第1列は常にに充填されている

ここでは、私が使用してラインですが、私はエラーを取得しておいてください。

Runtime error 1004: The sort reference is not valid, make sure that it's within the data you want to sort, and the first Sort By box isn't the same or blank

Target.Sheets("SheetToSort").Range("A1:C" & m).Sort Key1:=Range("B1:B" & m), Order1:=xlAscending, key2:=Range("A1:A" & m), order2:=xlAscending

ターゲットが定義されたワークブックですシートが存在し、セル"A1:C" & mにはデータのみの列Cが含まれている可能性がありますが、その列には何も並べ替えません。あなたの助けのための

ありがとう!

答えて

1

私はすべてのあなたの範囲は同じシートを参照してくださいので、このようにそれを修正したい:私は理由Rangeオブジェクト、ときに私はこれが起こった場所の前の問題を持っていた知っている

Target.Sheets("SheetToSort").Range("A1:C" & m).Sort _ 
Key1:=Target.Sheets("SheetToSort").Range("B1:B" & m), Order1:=xlAscending, _ 
Key2:=Target.Sheets("SheetToSort").Range("A1:A" & m), Order2:=xlAscending 

シートを指定していない場合、考えているシートとは異なるシートを指している可能性があります。

+1

したがって、[VBAベストプラクティス:ワークシートを想定しない](https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9218/never-assume-the-worksheet)もお読みください。 –

+0

実際にそれで解決されるようです!ありがとうございました :) – KawaRu

関連する問題