Phạm vi sắp xếp VBA | Làm thế nào để sắp xếp phạm vi trong Excel VBA?

Phạm vi sắp xếp VBA trong Excel

Sắp xếp một phạm vi trong VBA được thực hiện bởi phương thức range.sort, nó là một thuộc tính của phương thức range mà người dùng có thể sắp xếp một phạm vi theo thứ tự, các đối số cho hàm này là Key1, Order1, Key2, Type, Order2, Key3 , Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3, tất cả các đối số cho hàm này là tùy chọn.

Là một phần của tổ chức dữ liệu hoặc cấu trúc dữ liệu, điều quan trọng là phải sắp xếp dữ liệu và làm cho nó có tổ chức. Một điều tương tự cũng có sẵn với VBA, vì vậy câu hỏi phổ biến đối với những người mới học VBA là làm thế nào chúng ta có thể sử dụng tùy chọn sắp xếp này như một phần của tự động hóa VBA và bài viết này hướng dẫn bạn chi tiết về phạm vi Sắp xếp VBA.

Với excel, tất cả chúng ta đều quen thuộc với tùy chọn sắp xếp có sẵn trong tab DỮ LIỆU.

Tùy chọn sắp xếp trong VBA

Để sử dụng tùy chọn sắp xếp, trước tiên chúng ta cần quyết định phạm vi dữ liệu của mình là gì và đề cập đến phạm vi dữ liệu tương tự bằng cách sử dụng đối tượng RANGE trong VBA, sau đó chỉ chúng tôi mới có thể truy cập tùy chọn “Sắp xếp” trong VBA. Ví dụ: giả sử phạm vi dữ liệu của tôi là từ A1 đến D10 thì chúng tôi có thể cung cấp phạm vi dữ liệu như sau.

Mã:

 Sub Sort_Range_Example () Phạm vi ("A1: D10") Kết thúc Sub 

Bây giờ hãy đặt một dấu chấm và chọn phương pháp "SẮP XẾP".

Mã:

 Sub Sort_Range_Example () Dải ô ("A1: D10"). Sắp xếp Kết thúc Sub 

Dưới đây là cú pháp của phương thức SORT của phạm vi, mặc dù cú pháp có các đối số khác nhau, chúng tôi không cần tất cả chúng để mã hóa VBA của chúng tôi, vì vậy chúng tôi chỉ cần một vài phần tử.

[Key1]: Trong phạm vi dữ liệu mà chúng tôi đang sắp xếp, chúng tôi cần chỉ định cột nào chúng tôi cần sắp xếp. Ví dụ trong phạm vi dữ liệu của A1: D10 nếu chúng ta muốn sắp xếp dữ liệu dựa trên cột B thì [Key1] sẽ là Phạm vi (“B1”) .

[Order1]: Cột được đề cập trong đối số [Key1] phải được sắp xếp theo thứ tự. Chúng tôi có thể chọn hai tùy chọn ở đây “xlAscending” hoặc “xlDescending”.

Tiêu đề: Phạm vi dữ liệu được đề cập có tiêu đề hoặc không, nếu có, chúng tôi có thể cung cấp “xlYes” hoặc nếu không, chúng tôi có thể cung cấp “xlNo”.

Ví dụ về dãy sắp xếp trong VBA

Hãy lấy ví dụ về phạm vi sắp xếp VBA trong excel để hiểu điều này theo cách tốt hơn.

Bạn có thể tải xuống Mẫu Excel theo phạm vi sắp xếp VBA này tại đây - Mẫu Excel theo phạm vi sắp xếp VBA

Ví dụ, hãy xem cấu trúc dữ liệu bên dưới.

Chúng tôi có dữ liệu từ A1 đến E17, vì vậy trước tiên chúng tôi sẽ sắp xếp dữ liệu dựa trên "Quốc gia thông minh". Làm theo các bước dưới đây để viết mã sắp xếp dữ liệu.

Bước 1: Bắt đầu thủ tục macro excel.

Mã:

 Sub Sort_Range_Example () End Sub 

Bước 2: Đầu tiên đề cập đến phạm vi dữ liệu bằng cách sử dụng đối tượng RANGE .

Mã:

 Sub Sort_Range_Example () Phạm vi ("A1: E17") Kết thúc Sub 

Bước 3: Bây giờ chọn phương thức “ Sắp xếp ” của đối tượng Phạm vi.

Mã:

 Sub Sort_Range_Example () Dải ô ("A1: E17"). Sắp xếp Kết thúc Sub 

Bước 4: Vì chúng tôi sắp xếp dữ liệu dựa trên “Country-khôn ngoan” nên cột đối số Key 1 của chúng tôi sẽ là Phạm vi (“B1”).

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), End Sub 

Bước 5: Khi cột bắt buộc được đề cập, chúng ta cần đề cập đến thứ tự chúng ta cần sắp xếp dữ liệu và “Order1” sẽ là thứ tự “xlAscending” .

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), Order1: = xl Tăng dần, End Sub 

Bước 6: Dữ liệu của chúng tôi có tiêu đề nên Tiêu đề sẽ là “xlYes”.

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), Order1: = xlAscending, Header: = xlYes End Sub 

Chúng tôi đã đề cập đến tất cả các yếu tố cần thiết để sắp xếp dữ liệu. Thực hiện mã bằng cách nhấn phím và chức năng F5 và xem kết quả.

Đầu ra:

Dữ liệu đã được sắp xếp dựa trên tên Quốc gia theo thứ tự từ A đến Z.

Bây giờ, giả sử chúng ta cần sắp xếp dữ liệu dựa trên Quốc gia, chúng ta cũng cần sắp xếp " Tổng doanh thu " từ cao nhất đến thấp nhất. Trong những trường hợp như vậy, chúng ta cũng cần sử dụng các đối số Key2 và Order2.

Sau khi đề cập đến Key1 & Order1, chúng ta hãy chọn Key2.

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), Order1: = xlAscending, Key2: = End Sub 

Vì chúng tôi đang sắp xếp dữ liệu dựa trên cột " Tổng doanh số " nên tên cột Key2 của chúng tôi sẽ là Phạm vi ("D1").

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), End Sub 

Khi Key2 được chỉ định, chúng ta cần quyết định kiểu sắp xếp xem nó là thứ tự tăng dần hay thứ tự giảm dần trong đối số Order2 vì chúng ta đang sắp xếp giá trị bán hàng từ lớn nhất đến nhỏ nhất, chúng ta có thể chọn thứ tự “xlDescending”.

Mã:

 Sub Sort_Range_Example () Range ("A1: E17"). Sắp xếp Key1: = Range ("B1"), Order1: = xlAscending, Key2: = Range ("D1"), Order2: = xlDescending, Header: = xlYes End Sub 

Sau đó, hãy đề cập đến đối số Header là “xlYes”. Bây giờ hãy chạy mã và xem điều gì sẽ xảy ra.

Đầu ra:

Trước đây, nó đã được sắp xếp chỉ dựa trên "Quốc gia khôn ngoan" nhưng lần này nó đã được sắp xếp dựa trên "Quốc gia khôn ngoan" đầu tiên và sau đó cũng dựa trên "Tổng doanh thu" từ cao nhất đến thấp nhất.

Như vậy, chúng ta có thể sử dụng phương pháp “ Sắp xếp ” trong VBA để sắp xếp dữ liệu.

Những điều cần nhớ về Dải sắp xếp VBA trong Excel

  • Sắp xếp là một phương thức có sẵn trong VBA và để truy cập phương pháp này, chúng ta cần chỉ định phạm vi ô mà chúng ta sẽ sắp xếp.
  • Nếu phạm vi dữ liệu bao gồm tiêu đề thì chúng tôi cần chọn tùy chọn tiêu đề là “xlYes”, nếu không, chúng tôi có thể chọn “xlNo”.

$config[zx-auto] not found$config[zx-overlay] not found