Lọc và tính tổng (1 người xem)

Liên hệ QC

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

vanlinh_2904

Thành viên hoạt động
Tham gia
20/10/12
Bài viết
117
Được thích
3
Kính gửi các A/C,
Mình có file mong các A/C giúp mình bằng VBA thay cho công thức như sau : Sheet "TH" sẽ lọc mã duy nhất bên sheest "Chitiet" và tính tổng vào các cột và cột đơn giá cột D luôn bằng 30 và G=30, J=50; và tự động nhân thành tiền, và tổng thực nhận thay công thức. Cảm ơn các bạn nhiều.
 

File đính kèm

Kính gửi các A/C,
Mình có file mong các A/C giúp mình bằng VBA thay cho công thức như sau : Sheet "TH" sẽ lọc mã duy nhất bên sheest "Chitiet" và tính tổng vào các cột và cột đơn giá cột D luôn bằng 30 và G=30, J=50; và tự động nhân thành tiền, và tổng thực nhận thay công thức. Cảm ơn các bạn nhiều.

Dùng cột phụ và pivot table được chứ?
 
Upvote 0
Kính gửi các A/C,
Mình có file mong các A/C giúp mình bằng VBA thay cho công thức như sau : Sheet "TH" sẽ lọc mã duy nhất bên sheest "Chitiet" và tính tổng vào các cột và cột đơn giá cột D luôn bằng 30 và G=30, J=50; và tự động nhân thành tiền, và tổng thực nhận thay công thức. Cảm ơn các bạn nhiều.

Gõ có 2 từ cũng "làm biếng" (A/C là gì?), làm sao người khác "siêng" mà giúp?
Sheets "TH" xóa cột B bị ẩn đi. Bạn chạy thử Sub này:
PHP:
Public Sub GPE_TH()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Rws As Long, Ten As String
With Sheets("chi tiet")
    sArr = .Range("B5", .Range("B5").End(xlDown)).Resize(, 5).Value
    R = UBound(sArr)
    ReDim dArr(1 To R, 1 To 11)
End With
With CreateObject("Scripting.Dictionary")
    For I = 1 To R
        Ten = sArr(I, 1)
        If Not .Exists(Ten) Then
            K = K + 1: .Add Ten, K
            dArr(K, 1) = Ten: dArr(K, 3) = 30
            dArr(K, 6) = 30: dArr(K, 9) = 50
        End If
        Rws = .Item(Ten)
        dArr(Rws, 2) = dArr(Rws, 2) + sArr(I, 3)
        dArr(Rws, 5) = dArr(Rws, 5) + sArr(I, 4)
        dArr(Rws, 8) = dArr(Rws, 8) + sArr(I, 5)
    Next I
End With
For I = 1 To K
    dArr(I, 4) = dArr(I, 2) * dArr(I, 3)
    dArr(I, 7) = dArr(I, 5) * dArr(I, 6)
    dArr(I, 10) = dArr(I, 8) * dArr(I, 9)
    dArr(I, 11) = dArr(I, 4) + dArr(I, 7) + dArr(I, 10)
Next I
    K = K + 1: dArr(K, 1) = "TOTAL:": dArr(K, 11) = "=SUM(R4C:R[-1]C)"
    For I = 2 To 8 Step 3
        dArr(K, I) = "=SUM(R4C:R[-1]C)"
        dArr(K, I + 2) = "=SUM(R4C:R[-1]C)"
    Next I
With Sheets("TH")
    .Range("A4:M100").ClearContents
    .Range("A4:M100").Borders.LineStyle = 0
    .Range("A4").Resize(K, 11) = dArr
    .Range("A4").Resize(K - 1, 12).Borders.LineStyle = 1
End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom