Để tự động sắp xếp lại dữ liệu mỗi khi bạn vào hết dữ liệu cách phải thực hiện thông qua Macro và dưới đây là một ví dụ .
Bạn có bảng Danh muc , Mo ta và Don gia , bôi đen tạm thời khu vực bạn sẽ thực hiện , bấm Insert > Table
Bạn đánh dấu tích vào ô My table has header , rồi bấm OK
Tiếp theo bạn bấm tổ hợp phím ALT-F11 để vào cửa sổ Microsoft Visual Basic .
Nếu dữ liệu của bạn đang dùng ở Sheet nào thì hãy bấm đúp chọn vào Sheet đó , trong ví dụ này là Sheet1 , bấm đúp vào Sheet1 để đưa Macro
Bạn hãy dán Macro có nội dung bên dưới
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ACell As Range
Dim ActiveCellInTable As Boolean
Dim r As Single
Dim Value As Variant
Set ACell = Target
On Error Resume Next
ActiveCellInTable = (ACell.ListObject.Name = "Table1")
On Error GoTo 0
If ActiveCellInTable = True Then
r = Target.Row - Target.ListObject.Range.Row + 1
For c = 1 To ActiveSheet.ListObjects(ACell.ListObject.Name).Range.Columns.Count
If ActiveSheet.ListObjects(ACell.ListObject.Name).Range.Cells(r, c).Value = "" Then Exit Sub
Next c
With ActiveSheet.ListObjects(ACell.ListObject.Name).Sort
.SortFields.Clear
.SortFields.Add _
Key:=Range("Table1[[#All],[Danh muc]]"), SortOn:=xlSortOnValues, Order _
:=xlAscending, DataOption:=xlSortNormal
.Apply
End With
End If
End Sub
Bạn lưu ý muốn sắp xếp cột nào thì nhớ gõ cột tương ứng ở dòng
Key:=Range("Table1[[#All],[Danh muc]]"),
Trong ví dụ trên sắp xếp theo cột Danh muc .
Quay trở lại Excel , lúc này bạn có thể tự do vào dữ liệu và sau mỗi khi kết thúc nó sẽ tự động sắp xếp lại rất tiện lợi .