Aby posortować tabelę danych, użyj Excelowych nazw w połączeniu z funkcją CurrentRegion. Jest to mniej ryzykowne niż trudne odniesienia do kolumn i można to zrobić w dwóch prostych krokach.
Powodem, dla którego lepiej jest podawać kolumny, jest to, że jeśli błędnie ustawisz kolumny lub później się zmienią, będziesz mieszać dane! Po wykonaniu sortowania komórki w dowolnych pominiętych kolumnach pozostaną w miejscu, w którym się znajdują, stając się częścią niewłaściwych wierszy. I to właśnie się stanie, jeśli dodasz kolejne kolumny później, chyba że zapamiętasz aktualizację VBA.
Oto dwa proste kroki do zastosowania tego podejścia. W tym przykładzie wybrałem tabeli danych z czterech kolumnach i czterech rzędach:
Będziemy sortować według Col3 malejącym. Komórki w pozostałych trzech kolumnach mają identyczne wartości, co pozwala nam łatwo zweryfikować, czy wszystkie są w prawidłowych wierszach.
Krok 1: wybierz komórkę w tabeli danych, że jest mało prawdopodobne, aby kiedykolwiek zostać usunięte, takie jak nagłówek kolumny, którą zamierzasz zrobić na stałe, i podaj nazwę dla tej komórki. Możesz zdefiniować nazwę, zaznaczając komórkę i wpisując bezpośrednio w polu Nazwa Excela nad arkuszem. Tutaj użyłem nazwę RegionTag:
razu, CurrentRegion można odwołać całą tabelę danych tylko z tego. Można zobaczyć go w akcji, jeśli kod linię VBA, aby wybrać tabelę:
Range("RegionTag").CurrentRegion.Select
Jest to wynikiem:
To tylko dla ilustracji, pokazując siłę Nazwa/Kombinacja CurrentRegion. Nie musimy wybierać tabeli, aby ją posortować.
Krok 2: zdefiniować nazwisko, tym razem na kolumnę, którą chcesz sortować według:
upewnić, nazwa odnosi się do całej kolumny, wybrany klikając nagłówek kolumny , a nie tylko zakres komórek w kolumnie.
To wszystko! Z definicją tych dwóch nazw, możemy posortować tabelę danych bez dotycząca sobie z jego wierszy i kolumn, nawet jeśli bardziej dodawane są później:
Range("RegionTag").CurrentRegion.Sort _
key1:=Range("SortCol"), order1:=xlDescending, Header:=xlYes
Oto nasza tabela danych sortowane przy użyciu powyższej klauzuli:
zadziałało !!! dzięki – Jesus
Nie ma za co! Powodzenia w projekcie! Z poważaniem, –
Hej czasami pojawia się ten błąd: 1004 w odwołaniu do sortowania czasu wykonania nie jest ważne – Jesus