Tự động sắp xếp danh sách theo thứ hạng tăng (giảm) dần. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

camnhuong

Thành viên mới
Tham gia
29/3/07
Bài viết
23
Được thích
1
Giả sử có danh sách thu nhập của 10 người, có cách nào khi nhập xong dữ liệu thu nhập của 10 người đó (Sheet_Nhap)thì Excel sẽ tự động sắp xếp theo thứ tự tăng(giảm) số thu nhập đó (Sheet_KetQua). Xem file đính kèm.
Tương tự như xếp hạng trong bóng đá WorlCup ấy mà. Tôi rất muốn được các Sư phụ chỉ giúp.
 

File đính kèm

Giả sử có danh sách thu nhập của 10 người, có cách nào khi nhập xong dữ liệu thu nhập của 10 người đó (Sheet_Nhap)thì Excel sẽ tự động sắp xếp theo thứ tự tăng(giảm) số thu nhập đó (Sheet_KetQua). Xem file đính kèm.
Tương tự như xếp hạng trong bóng đá WorlCup ấy mà. Tôi rất muốn được các Sư phụ chỉ giúp.

Lúc trước anh Thunghi có hướng dẫn mình làm phần này nhưng sau khi cập nhật danh sách mình phải chọn nút sắp xếp, không có tự động. Camchuong thấy như thế có đưọc không, còn tự động thì mính hỏng biết.
 
Giả sử có danh sách thu nhập của 10 người, có cách nào khi nhập xong dữ liệu thu nhập của 10 người đó (Sheet_Nhap)thì Excel sẽ tự động sắp xếp theo thứ tự tăng(giảm) số thu nhập đó (Sheet_KetQua). Xem file đính kèm.
Tương tự như xếp hạng trong bóng đá WorlCup ấy mà. Tôi rất muốn được các Sư phụ chỉ giúp.
Thì cứ record macro quá trình sort (bằng tay)... sau đó chỉnh lại code và cho vào sự kiện Worksheet_Activate của sheet Ketqua thôi
Cụ thể với bài này thì:
PHP:
Private Sub Worksheet_Activate()
  With Range("A1").CurrentRegion
    .Clear
    Sheets("Nhap").Range("A1").CurrentRegion.Copy .Cells(1, 1)
    .Sort .Cells(2, 3), 1, Header:=xlYes
  End With
End Sub
Vậy là ta cứ nhập liệu bình thường, đến khi chuyển sang sheet Ketqua thì nó sẽ tự động sort lại theo cột Thu nhập
 

File đính kèm

Thì cứ record macro quá trình sort (bằng tay)... sau đó chỉnh lại code và cho vào sự kiện Worksheet_Activate của sheet Ketqua thôi
Cụ thể với bài này thì:
PHP:
Private Sub Worksheet_Activate()
With Range("A1").CurrentRegion
.Clear
Sheets("Nhap").Range("A1").CurrentRegion.Copy .Cells(1, 1)
.Sort .Cells(2, 3), 1, Header:=xlYes
End With
End Sub
Vậy là ta cứ nhập liệu bình thường, đến khi chuyển sang sheet Ketqua thì nó sẽ tự động sort lại theo cột Thu nhập
Sao Thầy không xử "thằng" Số thứ tự luôn nhỉ
Chẳng lẽ phải sort Stt lần nữa à?
Híc

Mã:
Private Sub Worksheet_Activate()
   Range("A1").CurrentRegion.Delete
   Sheets("Nhap").Range("A1").CurrentRegion.Copy Cells(1, 1)
     Range([B2], [c500].End(xlUp)).Sort Key1:=Range("C2"), Order1:=xlAscending
   [a1].Select
End Sub
 
Sao Thầy không xử "thằng" Số thứ tự luôn nhỉ
Chẳng lẽ phải sort Stt lần nữa à?
Híc

Mã:
Private Sub Worksheet_Activate()
   Range("A1").CurrentRegion.Delete
   Sheets("Nhap").Range("A1").CurrentRegion.Copy Cells(1, 1)
     Range([B2], [c500].End(xlUp)).Sort Key1:=Range("C2"), Order1:=xlAscending
   [a1].Select
End Sub
Dạ! Em cố tình để vậy.. biết đâu người ta cần "so" với dữ liệu gốc để biết em nào thuộc STT nào
Còn muốn để nguyên STT thì chỉ cần Offset sang 1 cột là xong (cột STT sẽ không bị ảnh hưởng)
PHP:
Private Sub Worksheet_Activate()
  With Range("A1").CurrentRegion
    .Clear
    Sheets("Nhap").Range("A1").CurrentRegion.Copy .Cells(1, 1)
    .Offset(, 1).Sort .Cells(2, 3), 1, Header:=xlYes
  End With
End Sub
 
Lần chỉnh sửa cuối:
Thì cứ record macro quá trình sort (bằng tay)... sau đó chỉnh lại code và cho vào sự kiện Worksheet_Activate của sheet Ketqua thôi
Cụ thể với bài này thì:
PHP:
Private Sub Worksheet_Activate()
With Range("A1").CurrentRegion
.Clear
Sheets("Nhap").Range("A1").CurrentRegion.Copy .Cells(1, 1)
.Sort .Cells(2, 3), 1, Header:=xlYes
End With
End Sub
Vậy là ta cứ nhập liệu bình thường, đến khi chuyển sang sheet Ketqua thì nó sẽ tự động sort lại theo cột Thu nhập

Rất cám ơn !
Nhưng ý của mình là số liệu trên Sheet KetQua đó phải cùng nằm trên Sheet Nhập mà.
Giống như xếp hạn trong một bảng của bóng đá, khi nhập tỷ óố này thì đội a đứng đầu hoặc ngược lại đó...
 
Rất cám ơn !
Nhưng ý của mình là số liệu trên Sheet KetQua đó phải cùng nằm trên Sheet Nhập mà.
Giống như xếp hạn trong một bảng của bóng đá, khi nhập tỷ óố này thì đội a đứng đầu hoặc ngược lại đó...
Thì càng dễ... khỏi copy ---> Sort luôn ---> Như bạn sort bằng tay thôi
Có vấn đề gì chứ?
 
Thì càng dễ... khỏi copy ---> Sort luôn ---> Như bạn sort bằng tay thôi
Có vấn đề gì chứ?
Mình nghĩ nếu theo yêu cầu của bạn "camnhuong" thì khỏi phải bàn nữa!nếu vầy thì bạn nên nhờ người khác làm luôn đi là vừa!theo yêu cầu đó, thì chỉ việc vô data-->sort theo ascending là tăng dần, descending là giảm dần thôi.bạn này làm biếng quá!
 
Hi các bạn,
Tong khối dữ liệu của tôi có một số cell tôi đặt tên cho nó, khi tôi sắp xếp lại dữ liệu thì dữ liệu trong cell đã đặt tên bị chạy qua cell khác. Các bạn giúp tôi giải pháp làm sao để giữa nguyên được dữ liệu trong những cell đã đặt tên.

V/d: dữ liệu trong các Cell
"A1" (tôi đặt tên cho nó là TuPhuong)- Tứ Phương; "A2" - Bắc; "A3" - Đông; "A4" - Tây; "A5"-Nam
Khi sắp xếp tôi muốn Cell có tên "TuPhuong" luôn mang dữ liệu "Tứ Phương" nhưng khi sắp xếp theo thứ tự giàm dần thì:
"A1" (có tên TuPhuong)- Bắc; "A2" - Đông; "A3" - Nam; "A4" - Tây; "A5"-Tứ phương
Như vậy Cell có tên "TuPhuong" ("A1") không còn mang giá trị "Tứ Phương" nữa mà giá trị này chuyển xuống cell "A5" - Sai ý đồi rồi.

Các bạn vui lòng giúp tôi với nha.

Có ai đó giúp tôi giải pháp cho vụ án này không.
 
Lần chỉnh sửa cuối:
Giả sử có danh sách thu nhập của 10 người, có cách nào khi nhập xong dữ liệu thu nhập của 10 người đó (Sheet_Nhap)thì Excel sẽ tự động sắp xếp theo thứ tự tăng(giảm) số thu nhập đó (Sheet_KetQua). Xem file đính kèm.
Tương tự như xếp hạng trong bóng đá WorlCup ấy mà. Tôi rất muốn được các Sư phụ chỉ giúp.

Tôi sử dụng một số hàm và thêm một số cột dữ liệu phụ để thực hiện ý tưởng tự động sắp xếp của bạn. Bạn xem file đính kèm nhé.

Chèn file vào bằng cách nào hả bạn, tôi tìm mãi mà chưa thấy chổ nào cả. các bạn giúp tôi với nha.
File này chính xác hơn bạn ơi, tôi vừa hiệu chỉnh lại.
View attachment Copy of Xep_hang.xls
 

File đính kèm

Lần chỉnh sửa cuối:
Rất cám ơn !
Nhưng ý của mình là số liệu trên Sheet KetQua đó phải cùng nằm trên Sheet Nhập mà.
Giống như xếp hạn trong một bảng của bóng đá, khi nhập tỷ óố này thì đội a đứng đầu hoặc ngược lại đó...
Cũng trên cơ sở của bạn NDU mình chỉnh lại 1 tí , bạn xem đúng chưa
 

File đính kèm

Hi các bạn,
Tong khối dữ liệu của tôi có một số cell tôi đặt tên cho nó, khi tôi sắp xếp lại dữ liệu thì dữ liệu trong cell đã đặt tên bị chạy qua cell khác. Các bạn giúp tôi giải pháp làm sao để giữa nguyên được dữ liệu trong những cell đã đặt tên.

V/d: dữ liệu trong các Cell
"A1" (tôi đặt tên cho nó là TuPhuong)- Tứ Phương; "A2" - Bắc; "A3" - Đông; "A4" - Tây; "A5"-Nam
Khi sắp xếp tôi muốn Cell có tên "TuPhuong" luôn mang dữ liệu "Tứ Phương" nhưng khi sắp xếp theo thứ tự giàm dần thì:
"A1" (có tên TuPhuong)- Bắc; "A2" - Đông; "A3" - Nam; "A4" - Tây; "A5"-Tứ phương
Như vậy Cell có tên "TuPhuong" ("A1") không còn mang giá trị "Tứ Phương" nữa mà giá trị này chuyển xuống cell "A5" - Sai ý đồi rồi.

Các bạn vui lòng giúp tôi với nha.

Có ai đó giúp tôi giải pháp cho vụ án này không.
Bạn quét chọn A1:A5 , sort , chọn No header row hoặc Header row để xem kết quả
 
Web KT

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

Back
Top Bottom