Giúp về chương trình sort và tính tổng (1 người xem)

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

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

gaupu89

Thành viên mới
Tham gia
3/10/16
Bài viết
24
Được thích
0
Chào mọi người mong mọi người giúp đỡ về code sort và tính tổng các giá trị. Nếu gặp giá trị trùng thì cộng dồn
Mình có file đính kèm
ảnh trước khi sort
1530512007473.png
sau khi Sort
1530512042278.png
mong mọi người giúp đỡ
không sử dụng Pivot Table
thanks
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

Upvote 0
Hình như làm giống bài này phải hôn
cai này chỉ sort được 1 cột, mình muốn sau khi sort xong in ra số cột và dữ liệu đủ nhu trước khi sort
Bài đã được tự động gộp:

Dữ liệu này bạn có thể Pivot Table là cách nhanh nhất: vừa cộng, vừa sort luôn cho bạn.
nếu sử dụng Pivot Table thì các dữ liệu sẽ khó tách ra
 
Upvote 0
cai này chỉ sort được 1 cột, mình muốn sau khi sort xong in ra số cột và dữ liệu đủ nhu trước khi sort
Bài đã được tự động gộp:


nếu sử dụng Pivot Table thì các dữ liệu sẽ khó tách ra
Ở đây thì làm 1 cột nếu bạn làm 2 cột thì chế biến lại, có gì đâu mà la làng, do lúc trước bạn không chịu nói rõ chi
Bài đã được tự động gộp:

Chào mọi người mong mọi người giúp đỡ về code sort và tính tổng các giá trị. Nếu gặp giá trị trùng thì cộng dồn
Mình có file đính kèm
ảnh trước khi sort
View attachment 198628
sau khi Sort
View attachment 198629
mong mọi người giúp đỡ
không sử dụng Pivot Table
Cảm ơn
Khuyến mãi file này hên xui nha


Mã:
Sub LocDuyNhat()
Dim I As Long
Dim J As Long
Dim Arr_N()
Dim Arr_D()
Dim K As Long
Dim DongCuoi As Long
Dim Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")

DongCuoi = Sheet1.Range("A100000").End(xlUp).Row
Arr_N = Sheet1.Range("A2:D" & DongCuoi)
ReDim Arr_D(1 To UBound(Arr_N, 1), 1 To 4)
K = 0
For I = 1 To UBound(Arr_N, 1)
  If Not Dic.exists(Arr_N(I, 1) & "-" & Arr_N(I, 2) & "-" & Arr_N(I, 3)) Then
        K = K + 1
        Dic.Add Arr_N(I, 1) & "-" & Arr_N(I, 2) & "-" & Arr_N(I, 3), K
        Arr_D(K, 1) = Arr_N(I, 1)
        Arr_D(K, 2) = Arr_N(I, 2)
        Arr_D(K, 3) = Arr_N(I, 3)
        Arr_D(K, 4) = Arr_N(I, 4)
  Else
      J = Dic.Item(Arr_N(I, 1) & "-" & Arr_N(I, 2) & "-" & Arr_N(I, 3))
      Arr_D(J, 4) = Arr_D(J, 4) + Arr_N(I, 4)
   End If
Next

Sheet1.Range("H2:K1000").Clear
Sheet1.Range("H2").Resize(K, 4) = Arr_D
Sheet1.Range("H2").Resize(K, 4).Sort key1:=Sheet1.Range("H2"), key2:=Sheet1.Range("K2"), ORDER1:=xlAscending, ORDER2:=xlDescending
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ở đây thì làm 1 cột nếu bạn làm 2 cột thì chế biến lại, có gì đâu mà la làng, do lúc trước bạn không chịu nói rõ chi
Bài đã được tự động gộp:


Khuyến mãi file này hên suôi nha
Nếu 2 cột Ma Sp và maker của mình dính nhau, và tách ra để sort thì làm như thế nào
như file đính kèm
thanks
 

File đính kèm

Upvote 0
Nếu 2 cột Ma Sp và maker của mình dính nhau, và tách ra để sort thì làm như thế nào
như file đính kèm
Cảm ơn
Bạn tự tách ra và làm nha, hoặc là để thành viên khác giúp bạn, bài bạn đưa ra nhỏ giọt và bài 1 cách bài 2 thời gian cũng khá lâu, vậy bài 2 và bài 3 phải chờ khoản thời gian đó nữa thì mới có thể ra
 
Upvote 0
Ở đây thì làm 1 cột nếu bạn làm 2 cột thì chế biến lại, có gì đâu mà la làng, do lúc trước bạn không chịu nói rõ chi

Khuyến mãi file này hên suôi nha

....

"hên" đi với "xui" (xui xẻo)

Bài này đã sort thì cần gì phải đít sần.
Đây là trường hợp cổ điển nhất của lập trình. Cứ sort cả bảng rồi đọc, vừa đọc vừa tổng, gặp mã thay đổi thì set lại.

Nhưng thật ra trong môi trường Excel thì Pivot Table mới là đúng. Nếu không muốn thấy cái Pivot Table thì Pivot bằng code rồi chép ra.
 
Upvote 0
"hên" đi với "xui" (xui xẻo)

Bài này đã sort thì cần gì phải đít sần.
Đây là trường hợp cổ điển nhất của lập trình. Cứ sort cả bảng rồi đọc, vừa đọc vừa tổng, gặp mã thay đổi thì set lại.

Nhưng thật ra trong môi trường Excel thì Pivot Table mới là đúng. Nếu không muốn thấy cái Pivot Table thì Pivot bằng code rồi chép ra.

Thế mới là theo thầy (Phi) mới là hên xui, đã hên xui thì cứ quay đại thui.
 
Upvote 0
Web KT

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

Back
Top Bottom