làm sao để cho excel sắp xếp tự động khi mình gõ họ & tên vào cell?

Liên hệ QC

ongtrungducmx25

Thành viên gạo cội
Tham gia
5/2/07
Bài viết
2,077
Được thích
1,987
Nghề nghiệp
GV
làm sao để cho excel sắp xếp tự động khi mình gõ họ&tên vào cell? em có một file chỉ tự động loại bỏ khoảng trắng và lấy chữ hoa đầu từ thôi, pác nào biết thêm cách VBA cho nó tự động tư sắp xếp luôn được không!
 

File đính kèm

làm sao để cho excel sắp xếp tự động khi mình gõ họ&tên vào cell? em có một file chỉ tự động loại bỏ khoảng trắng và lấy chữ hoa đầu từ thôi, pác nào biết thêm cách VBA cho nó tự động tư sắp xếp luôn được không!
Bạn ghi 1 macro sắp xếp, chỉnh lại vùng sắp xếp cho phù hợp và ghi vào Sub Workbook_SheetChange

Mã:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
myValue = LCase(Application.WorksheetFunction.Trim(Target.Value))
If myValue <> "" Then
  i = 0
  Do
    Mid(myValue, i + 1, 1) = UCase(Mid(myValue, i + 1, 1))
    i = InStr(i + 1, myValue, " ")
  Loop While i > 0
  Target.Value = myValue
[COLOR=Blue]  Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal[/COLOR]
End If
End Sub
Nhưng theo tôi, lạm dụng sự kiện Workbook_SheetChange làm cho bảng tính xử lý rất chậm khi dữ liệu nhiều vì mỗi lần nhập, chỉnh dữ liệu thì nó phải thực hiện lệnh trong Workbook_SheetChange.
Bạn nên tạo 1 thủ tục và gán nó vào tổ hợp phím, sau khi nhập xong dữ liệu cho nó chạy 1 lần là xong.
 
Upvote 0
em chỉ nhập khoảng 30-40 em thôi trong một sheet, ủa sao cái code trên chỉ sắp xếp theo họ không zậy em muốn sắp xếp theo tên từ A-Z cơ!
 
Lần chỉnh sửa cuối:
Upvote 0
em chỉ nhập khoảng 30-40 em thôi trong một sheet, ủa sao cái code trên chỉ sắp xếp theo họ không zậy em muốn sắp xếp theo tên từ A-Z cơ!


Bạn nên viết thêm CODE thực hiện

+ tạo thêm cột phụ chứa tên viết lên đầu + họ đệm

+ rồi sắp xếp theo cột phụ đó

+ xóa cột phụ

Tuy nhiên đứng về lý thuyết khi đó code sẽ chạy lâu, vì gõ theo tên - và động hóa --> NẾU không để ý TỐC ĐỘ có thể dùng công thức cho giải pháp này hay hơn,

giải pháp vậy bạn thử sức xem?
 
Upvote 0
Nếu bạn muốn mỗi lần nhập họ tên thì lại sắp xếp (Qua sự kiện change) thì bạn phải bổ sung thêm thủ tục "Định vị con trỏ ô", chẳng lẽ muốn nhập ngày sinh sau khi nhập họ tên lại phải đi tìm xem họ tên vừa nhập đang nằm dòng nào để nhập tiếp ngày sinh.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom