2017-06-16 1 views
0

Ich versuche, einen Bereich (mit 3 Spalten) zu sortieren Ich möchte die Daten in der zweiten Spalte sortieren, und wenn es zwei Dinge in dieser Spalte gleich sind, möchte ich es sortieren über die erste Spalte. .Sortierung eines Bereichs, Excel sagt Bereich ist leer

Die zweite und die erste Spalte in

Hier ist die Linie, die ich benutze immer gefüllt, aber ich halte den Fehler bekommen:

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

Ziel ist eine definierte Arbeitsmappe , das Blatt existiert, Zellen "A1:C" & m enthalten nur Daten Spalte C könnte leere Leerzeichen haben, aber ich sortiere nichts in dieser Spalte.

Danke für Ihre Hilfe!

Antwort

1

Ich würde nur sicherstellen, dass alle Ihre Bereiche demselben Blatt beziehen, so es wie folgt ändern:

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 

Ich weiß, ich habe Probleme, bevor, wo dies geschehen ist, weil das Range Objekt, wenn Sie geben das Blatt nicht an und verweisen möglicherweise auf ein anderes Blatt als Sie denken.

+1

Daher lesen Sie auch [VBA Best Practices: Niemals das Arbeitsblatt übernehmen] (https://stackoverflow.com/documentation/excel-vba/1107/vba-best-practices/9218/never-assume-the-worksheet). –

+0

Scheint damit tatsächlich gelöst zu sein! Vielen Dank :) – KawaRu

Verwandte Themen