HomeTin học Văn phòngExcel5 Macro Microsoft...

5 Macro Microsoft Excel thú vị để sắp xếp dữ liệu


Các macro Excel có thể không toàn diện như các công cụ tự động hóa khác, nhưng không thể làm suy yếu tính hợp lệ và hiệu quả của Excel VBA. Nếu bạn làm việc trong Excel và các công cụ Microsoft Office khác như Word và Access, thì bạn không thể nhầm với VBA và các khả năng của nó.


MS Excel là một công cụ mạnh mẽ cung cấp rất nhiều tùy chọn cho người dùng. Từ lưu trữ dữ liệu đến tạo trang tổng quan tự động, bạn có thể thực hiện tất cả trong Excel và các bảng tính của nó.

Nếu bạn muốn sử dụng VBA để tự động hóa các trách nhiệm sắp xếp của mình trong Excel, hãy dùng thử các macro dễ áp ​​dụng hiệu quả này.


Tải xuống tập dữ liệu giả

Đối với người mới bắt đầu, bạn có thể tải xuống tập dữ liệu giả để sử dụng các kỹ năng macro Excel của mình.

Hãy yên tâm, khi bạn hiểu rõ về các macro này và hiểu rõ hơn cách mọi thứ hoạt động, bạn có thể thay đổi mã để phù hợp với bảng tính của riêng bạn cho cơ quan hoặc trường học.

Đọc thêm  Cách sắp xếp theo ngày trong Excel

Bạn có thể tải xuống tập dữ liệu được sử dụng trong bài viết này nếu muốn làm theo.

Tải xuống: Tập dữ liệu Excel

1. Sắp xếp một cột bằng macro Excel

Sử dụng mã đơn giản này để sắp xếp cột dữ liệu trong bảng tính Excel. Nếu bạn đã tải xuống tập dữ liệu giả, bạn có thể thử sắp xếp cột E (Số đơn vị đã bán).

Mở một tệp Excel mới và lưu nó với một Sổ làm việc hỗ trợ macro Excel (.xlsm) loại sổ làm việc. Tệp này sẽ lưu trữ macro để sắp xếp dữ liệu của bạn từ một tệp khác.

Liên quan: Các khóa học trực tuyến tốt nhất để thành thạo Excel nâng cao

Bạn sẽ kiểm soát (các) tệp của mình từ tệp macro, tệp này sẽ tương tác riêng với sổ làm việc của bạn.

Nhập mã sau đây:

 Sub sortwithheaders()

Workbooks("Financial Sample.xlsx").Sheets(1).Activate

Range("A1:P701").sort Key1:=Range("e1"), Order1:=xlAscending, Header:=xlYes

End Sub

Ở đâu:

  • Phím1: Xác định (các) cột mà bạn muốn sắp xếp
  • Đặt hàng1: Phương pháp sắp xếp thứ tự (tăng dần/giảm dần)
  • tiêu đề: Nếu nội dung của bạn có tiêu đề, tùy chọn này sẽ vẫn là xlCó. Ngoài ra, chọn xlKhông.
Lưu tệp macro trong Excel

Phạm vi sẽ bao gồm địa chỉ ô bắt đầu và ô kết thúc để mọi thứ được ghi lại cho mục đích sắp xếp. Kết quả là toàn bộ tập dữ liệu của bạn sẽ được sắp xếp dựa trên dữ liệu trong cột E.

2. Sắp xếp dữ liệu động trong một cột

Có thể có những trường hợp trong đó điểm bắt đầu của bạn được xác định, nhưng điểm cuối của bạn là động. Trong trường hợp như vậy, bạn có thể làm cho mã của mình động để mã tự động chọn phần cuối của phạm vi.

Để phù hợp với sự thay đổi trong dữ liệu, hãy sử dụng mã dưới đây:

 Sub sortwithheaders()

Workbooks("Financial Sample.xlsx").Sheets(1).Activate

Range("A1", Range("A1").End(xlDown)).sort Key1:=Range("e2"), Order1:=xlAscending, Header:=xlYes

End Sub

Ở đâu:

  • Kết thúc (xlDown): Hàm này sẽ tự động chọn ô được điền cuối cùng một cách tự động

Ghi chú: Nếu công thức gặp một ô trống trong một cột, nó sẽ coi ô trước đó là ô cuối cùng của phạm vi.

Liên quan: Cách tạo phím tắt tùy chỉnh trong Microsoft Excel

3. Sắp xếp nhiều cột với nhau

Có thể xảy ra trường hợp bạn muốn sắp xếp dữ liệu trong nhiều cột cùng một lúc. Để làm như vậy, bạn có thể sử dụng đoạn mã sau để đạt được mục đích của mình:

 Sub SortMultipleColumns()

With Worksheets("Sheet1")

       With .Cells(1, "A").CurrentRegion

           .Cells.sort Key1:=.Range("B1"), Order1:=xlAscending, _

                       Key2:=.Range("E1"), Order2:=xlAscending, _

                       Orientation:=xlTopToBottom, Header:=xlYes

       End With

   End With

End Sub

Sắp xếp nhiều cột VBA

4. Sắp xếp các cột trên nhiều trang tính

Khi bạn đang xử lý nhiều trang tính, bạn có thể muốn chuẩn bị sẵn dữ liệu của mình để đưa vào trang tổng quan. Một trong những khía cạnh quan trọng nhất của việc chuẩn bị dữ liệu là sắp xếp dữ liệu và sắp xếp dữ liệu theo một định dạng nhất định để trình bày cho các bên liên quan hoặc khách hàng của bạn.

Một tùy chọn là duyệt qua từng trang theo cách thủ công, sắp xếp các cột cần thiết, rồi chuyển sang bước tiếp theo. Ngoài ra, tại sao không để VBA làm điều đó cho bạn?

Mục đích của mã bên dưới là duyệt qua từng trang tính có sẵn trong sổ làm việc và dựa trên các cột được chỉ định, sắp xếp dữ liệu có sẵn.

Liên quan: Hàm tra cứu Microsoft Excel để tìm kiếm bảng tính hiệu quả hơn

Đây là cách bạn có thể sắp xếp các cột trên nhiều trang tính:

 Sub SortWS()
Dim ws As Worksheet
'Activate the intended worksheet
Workbooks("Financial Sample.xlsx").Activate
'Cycle through each individual worksheet automatically using for loop
For Each ws In ActiveWorkbook.Sheets
'activate each individual worksheet
ws.Activate
'Define the range and then sort the column basis your requirements. In this case, only one column in being sorted.
Range("A1", Range("p1").End(xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes
'Command used to cycle to the next worksheet, once the previous worksheet has been sorted
Next ws
End Sub

Tất cả thông tin bắt đầu bằng dấu ngoặc đơn là nhận xét VBA. Chúng không được thực hiện trong giai đoạn thực hiện. Tuy nhiên, mỗi chú thích VBA mà bạn thêm vào là một phần bổ sung có ý nghĩa cho mã, vì bạn có thể xác định bản chất, chức năng và các phần có liên quan khác trong các phần mã.

Mã để sắp xếp các cột trên nhiều trang tính trong Excel VBA

5. Sao chép dữ liệu đã sắp xếp từ trang tính này sang trang tính khác

Hãy tưởng tượng một tình huống mà bạn muốn sắp xếp dữ liệu và sao chép toàn bộ tập dữ liệu (hoặc một phần của chúng) vào một trang tính mới được thêm vào. Trong những trường hợp như vậy, bạn có thể sử dụng đoạn mã dưới đây để thực hiện tác vụ hiện tại:

 Sub SortWS()

Dim ws As Worksheet

'Activate the intended worksheet

Workbooks("Financial Sample.xlsx").Activate

'Cycle through each individual worksheet automatically using for loop

For Each ws In ActiveWorkbook.Sheets

'activate each individual worksheet

ws.Activate

'Define the range and then sort the column basis your requirements.
'In this case, only one column in being sorted.

Range("A1", Range("p1").End(xlDown)).sort Key1:=Range("E1"), Order1:=xlDescending, Header:=xlYes

'Command used to cycle to the next worksheet, once the previous worksheet has been sorted

Next ws

'Create a new worksheet within the workbook to store the new data

ActiveWorkbook.Sheets.Add.Name = "Results"

'Copy paste the sorted data into the newly added sheet

Sheets("Sheet1").Range("A1:p701").Copy Destination:=Sheets("Results").Range("a1")

End Sub

Sắp xếp và dán dữ liệu vào một trang tính mới

Đoạn mã trên sẽ sắp xếp các giá trị trong cột E, thêm một trang tính mới Kết quả vào sổ làm việc hiện có và dán kết quả đã sắp xếp vào ô A1.

Tạo Macro sắp xếp trong Excel

Excel VBA là một ngôn ngữ tiện lợi có thể giúp bạn tiết kiệm rất nhiều thời gian và công sức. Bằng cách sử dụng macro VBA, bạn có thể tạo bảng điều khiển mở rộng, dễ dàng sắp xếp dữ liệu bằng một vài cú nhấp chuột và thực hiện các chức năng khác nhau một cách dễ dàng.

May mắn thay, chức năng của Excel không kết thúc với macro. Hãy xem một số mẹo và thủ thuật để trở thành người dùng Excel hiệu quả hơn.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status