Code sắp xếp từ lớn đến nhỏ (1 người xem)

  • Thread starter Thread starter avada29
  • Ngày gửi Ngày gửi
Liên hệ QC

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

avada29

Thành viên mới
Tham gia
26/7/13
Bài viết
23
Được thích
0
Chào các bác, nhờ các bác giúp đỡ giúp em bài toán này với ạ:
Sheet 1 là ô chứa dữ liệu, cột A là cột vị trí, với mỗi vị trí sẽ có một dãy giá trị tương ứng (nằm trên mỗi hàng). Giờ em muốn sắp xếp các dãy giá trị đó từ lớn đến nhỏ vào sheet 2, nhờ các bác giúp đỡ em với ạ, em cảm ơn các bác ạ!!
 

File đính kèm

Chào các bác, nhờ các bác giúp đỡ giúp em bài toán này với ạ:
Sheet 1 là ô chứa dữ liệu, cột A là cột vị trí, với mỗi vị trí sẽ có một dãy giá trị tương ứng (nằm trên mỗi hàng). Giờ em muốn sắp xếp các dãy giá trị đó từ lớn đến nhỏ vào sheet 2, nhờ các bác giúp đỡ em với ạ, em cảm ơn các bác ạ!!
CODE cây nhà lá vườn, xem như mọi trường hợp điều đúng không bẫy lỗi gì hết nha, vì tôi lười biếng nên chọn code sắp xếp chạy chậm nhất trong mười mấy kiểu sắp xếp
Sub sapxep(ARR_N(), Arr_d(), SODONG As Long)
Dim I As Long
Dim J As Long
Dim Arr_tam(1 To 153)
Dim tam
Dim Dem As Long
Dem = 0
For I = 1 To 152
If (ARR_N(SODONG, I+1= "") Then Exit For
Arr_tam(I) = ARR_N(SODONG, I+1)
Dem = Dem + 1
Next
For I = 1 To Dem - 1
For J = I + 1 To Dem
If (Arr_tam(I) < Arr_tam(J)) Then
tam = Arr_tam(I)
Arr_tam(I) = Arr_tam(J)
Arr_tam(J) = tam
End If
Next
Next
For I = 1 To Dem
Arr_d(SODONG, I + 1) = Arr_tam(I)
Next
End Sub

Sub Main()
Dim ARR_N()
Dim dongcuoi As Long
Dim CotCuoi As Long
Dim I As Long
dongcuoi = Sheet1.Range("A100000").End(xlUp).Row
ARR_N = Sheet1.Range("A2:EX" & dongcuoi)
ReDim Arr_d(1 To UBound(ARR_N, 1), 1 To 153)
For I = 1 To UBound(ARR_N, 1)
Arr_d(I, 1) = ARR_N(I, 1)
Call sapxep(ARR_N, Arr_d, I)
Next
Sheet2.Range("A2").Resize(UBound(ARR_N, 1), 153) = Arr_d
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom