Hướng dẫn tổng hợp số liệu theo mẫu

Liên hệ QC

saobekhonglac

Thành viên mới
Tham gia
1/11/08
Bài viết
1,565
Được thích
1,454
Giới tính
Nam
Dear anh/chị.

Mình có file excel gồm 2 sheet, 1 sheet “Du lieu” & 1 sheet “Tong hop”. Sheet “Du lieu” gồm có các cột TK NO, TK CO, DIEN GIAI, MA NHAN VIEN, và số tiền tương ứng theo từng MA NHAN VIEN. Từ sheet “Tong hop” mình muốn tổng hợp dữ liệu bên sheet “Du lieu” sang sheet “Tong hop” giống như mình đang làm (mình làm thủ công 2 diễn giãi đầu tiên), Do có nhiều DIEN GIAI VÀ MA NHAN VIEN nên mình nhờ anh/chị hướng dẫn giúp mình công thức hoặc VBA nào có thể tổng hợp dữ liệu được được nhanh hơn, làm thủ công cũng hay sai sót và mất thời gian nhiều. Mình biết yêu cầu này hơi khó nhưng nếu anh/chị nào có thể giúp được thì giúp dùm mình với.

Thanks anh/chị nhiều.
 

File đính kèm

Với những diễn đàn khác thì không biết, nhưng với Giải Pháp Excel thì bạn nên sử dụng tiếng Việt chuẩn trong giao tiếp.
Hi, Dear, Thanks.... dùng chung với tiếng Việt nghe "chỏi tai" lắm. Rất nhiều người "dị ứng" kiểu giao tiếp này.
Ví dụ như ở đây:
http://www.giaiphapexcel.com/forum/...ợp-dữ-liệu-từ-nhiều-sheet&p=643236#post643236
Vì thấy bạn cùng quê "miền Tây" nên góp ý vậy thôi.
 
Lần chỉnh sửa cuối:
Cám ơn anh. em sẽ rút kinh nghiệm.

Với những diễn đàn khác thì không biết, nhưng với Giải Pháp Excel thì bạn nên sử dụng tiếng Việt chuẩn trong giao tiếp.
Hi, Dear, Thanks.... dùng chung với tiếng Việt nghe "chỏi tai" lắm. Rất nhiều người "dị ứng" kiểu giao tiếp này.
Ví dụ như ở đây:
http://www.giaiphapexcel.com/forum/...ợp-dữ-liệu-từ-nhiều-sheet&p=643236#post643236
Vì thấy bạn cùng quê "miền Tây" nên góp ý vậy thôi.
 
Cám ơn anh. em sẽ rút kinh nghiệm.

Thử copy Sub này vào Module, Tạo 1 cái nút hay hình vẽ trong sheet "Tong hop", kết nối với nó rồi bấm nút, kiểm tra lại kết quả xem sao.
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, N As Long, C As Long
With Sheets("Du lieu")
    sArr = .Range(.[A2], .[A3].End(xlDown)).Resize(, .[B2].End(xlToRight).Column).Value2
End With
ReDim dArr(1 To UBound(sArr, 1) * UBound(sArr, 2) * 2, 1 To 5)
For I = 2 To UBound(sArr, 1)
    For N = 3 To 2 Step -1
        C = 2 + N
        For J = 4 To UBound(sArr, 2)
            If sArr(I, J) > 0 Then
                K = K + 1
                dArr(K, 1) = sArr(I, N)
                dArr(K, 2) = sArr(1, J)
                dArr(K, 3) = sArr(I, 1)
                dArr(K, C) = sArr(I, J)
            End If
        Next J
    Next N
Next I
With Sheets("Tong hop")
    .[A2:E60000].ClearContents
    .[A2].Resize(K, 5) = dArr
End With
End Sub
 
Dạ em làm được rồi, cám ơn anh nhiều nha.
Thử copy Sub này vào Module, Tạo 1 cái nút hay hình vẽ trong sheet "Tong hop", kết nối với nó rồi bấm nút, kiểm tra lại kết quả xem sao.
PHP:
Public Sub GPE()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, N As Long, C As Long
With Sheets("Du lieu")
    sArr = .Range(.[A2], .[A3].End(xlDown)).Resize(, .[B2].End(xlToRight).Column).Value2
End With
ReDim dArr(1 To UBound(sArr, 1) * UBound(sArr, 2) * 2, 1 To 5)
For I = 2 To UBound(sArr, 1)
    For N = 3 To 2 Step -1
        C = 2 + N
        For J = 4 To UBound(sArr, 2)
            If sArr(I, J) > 0 Then
                K = K + 1
                dArr(K, 1) = sArr(I, N)
                dArr(K, 2) = sArr(1, J)
                dArr(K, 3) = sArr(I, 1)
                dArr(K, C) = sArr(I, J)
            End If
        Next J
    Next N
Next I
With Sheets("Tong hop")
    .[A2:E60000].ClearContents
    .[A2].Resize(K, 5) = dArr
End With
End Sub
 
góp thêm cho vui.............tại làm chậm quá ang Bate làm rùi,,,,,,,,,,,,heheheh
Mã:
Sub tonghop()
Dim DL As Variant, i, j, k As Long, TH()
With Sheet1
    DL = .[A2:P3].Resize(.[a10000].End(3).Row - 1).Value
End With
ReDim TH(1 To 26 * UBound(DL), 1 To 5)
k = 1
For i = 2 To UBound(DL)
    For j = 4 To UBound(DL, 2)
        TH(k + j - 4, 1) = DL(i, 3)
        TH(k + j - 4, 2) = DL(1, j)
        TH(k + j - 4, 3) = DL(i, 1)
        TH(k + j - 4, 5) = DL(i, j)
        '=====================
        TH(k + j + 9, 1) = DL(i, 2)
        TH(k + j + 9, 2) = DL(1, j)
        TH(k + j + 9, 3) = DL(i, 1)
        TH(k + j + 9, 4) = DL(i, j)
    Next j
    k = k + 26
Next i
With Sheet2
.[A2:E10000].Clear
.[a2].Resize(k, 5).Value = TH
End With

End Sub
 
Anh Ba Tê ơi.

Trường hợp nếu em muốn sheet Tong hop cập nhật số vào các cột khác xen kẽ chứ không phải liên tục từ A đến E. Trường hợp nếu em muốn số tiền đảo người lại, bên có sẽ qua bên nợ và bên nợ chuyển qua bên có. Anh hướng dẫn thêm giúp em với.

Cảm ơn anh nhiều.
 
Anh Ba Tê ơi.

Trường hợp nếu em muốn sheet Tong hop cập nhật số vào các cột khác xen kẽ chứ không phải liên tục từ A đến E. Trường hợp nếu em muốn số tiền đảo người lại, bên có sẽ qua bên nợ và bên nợ chuyển qua bên có. Anh hướng dẫn thêm giúp em với.

Cảm ơn anh nhiều.

Muốn cái gì thì đưa dữ liệu giống thật rồi hỏi.
Làm xong lại "muốn" khác sao được.
Tôi chỉ khoái "làm" để giết thời gian chứ không biết "chỉ".
Có người bảo cho cần câu hay cho cá tốt hơn?
Tôi chỉ khoái câu được cá, ai xin cho tôi cho vì tôi không ăn cá. Muốn học câu cá thì ngồi xem, muốn ăn cá thì chờ tôi câu rồi lấy cá mà ăn, chứ tôi không cho cần câu.
(Thời gian giải trí của tôi là "làm và học lóm" Excel)
 
Chào anh Ba Tê.

Em gửi anh file anh làm giúp em. File này cũng giống như file trước nhưng có thêm sheet Trich, Sheet Xoa thì giống làm giống như file trước nhưng sheet Trich thì tài khoản đảo lại và số tiền bên nợ sẽ chuyển sang có và ngược lại. Sheet Tong hop anh cho dữ liệu chạy sang những cột em có ghi tiêu đề giúp em.

Cám ơn anh.
 

File đính kèm

Chào anh Ba Tê.

Em gửi anh file anh làm giúp em. File này cũng giống như file trước nhưng có thêm sheet Trich, Sheet Xoa thì giống làm giống như file trước nhưng sheet Trich thì tài khoản đảo lại và số tiền bên nợ sẽ chuyển sang có và ngược lại. Sheet Tong hop anh cho dữ liệu chạy sang những cột em có ghi tiêu đề giúp em.

Cám ơn anh.

Giải thích cho người không cùng chuyên môn cũng hiểu được, ít nhất thì bạn phải mô tả ró và có kết quả mẫu muốn có nếu làm thủ công.
Tôi chẳng hiểu XOA, TRICH là gì, lấy từ sheet nào sang Tổng hợp?
Tôi chỉnh code lại theo file cũ, bạn xem có đúng ý không nhé.
 

File đính kèm

Kết quả vẫn giống file trước, Sheet Xoa đưa qua y như file cũ, còn Sheet Trich thì cũng đưa qua như vậy nhưng số tiền thì đảo ngược lại.

Giải thích cho người không cùng chuyên môn cũng hiểu được, ít nhất thì bạn phải mô tả ró và có kết quả mẫu muốn có nếu làm thủ công.
Tôi chẳng hiểu XOA, TRICH là gì, lấy từ sheet nào sang Tổng hợp?
Tôi chỉnh code lại theo file cũ, bạn xem có đúng ý không nhé.
 
Chào anh.

Em gửi lại anh file, khi nào anh dậy anh xem giúp em nha. Từ dòng 2 đến dòng 129 là dùng code (nhận kết quả từ sheet "Xoa", còn từ dòng 130 là em làm tay, nhờ anh làm giúp em code cho dữ liệu bên sheet "Trich" sẽ chạy vào Sheet "Tong hop" từ dòng 130 cho đến hết dữ liệu (số tiền sheet "Trich" sẽ ngược với sheet "Xoa")

Ví dụng như sheet "Xoa" thì khi qua sheet "Tong hop" TK 335* sẽ nằm bên nợ, 521* sẽ nằm bên có, còn sheet "Trich" thì 335* sẽ nằm bên có, 521* sẽ nằm bên nợ

Có ai hiểu không ta?
Tui nghỉ đây.
 

File đính kèm

Web KT

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

Back
Top Bottom