Xin code lọc dữ liệu từ chi tiết qua tổng hợp

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

USB1394

Thành viên hoạt động
Tham gia
20/12/08
Bài viết
173
Được thích
12
Nghề nghiệp
Lính triều đình
Mình có một bảng phát sinh chi tiết , mình muốn chuyển thành bảng phát sinh tổng hợp theo từng khách hàng . Mình có gởi kèm file , mong các bạn giúp đỡ , xin cám ơn +-+-+-++-+-+-++-+-+-+
 

File đính kèm

Mình có một bảng phát sinh chi tiết , mình muốn chuyển thành bảng phát sinh tổng hợp theo từng khách hàng . Mình có gởi kèm file , mong các bạn giúp đỡ , xin cám ơn +-+-+-++-+-+-++-+-+-+
Đối với những bài dạng này tôi vẫn thích làm bằng tay hơn.
[video=youtube;sdw-rvxKD8Q]http://www.youtube.com/watch?v=sdw-rvxKD8Q[/video]
 
Upvote 0
Phải công nhận bạn huuthang_bd làm chuyên nghiệp sao , y như trong trong quảng cáo . .! Cũng mong bạn hiểu vì dữ liệu trong bảng luôn thay đổi , nếu làm bằng tay thì gặp rất nhiều lỗi (quên 1 bước là tiêu liền) . Nên mình mới dùng VBA . Mong nhận được sự quan tâm và giúp đỡ của bạn , xin cám ơn
 
Upvote 0
Phải công nhận bạn huuthang_bd làm chuyên nghiệp sao , y như trong trong quảng cáo . .! Cũng mong bạn hiểu vì dữ liệu trong bảng luôn thay đổi , nếu làm bằng tay thì gặp rất nhiều lỗi (quên 1 bước là tiêu liền) . Nên mình mới dùng VBA . Mong nhận được sự quan tâm và giúp đỡ của bạn , xin cám ơn
Code thì tôi làm như thế này:
PHP:
Sub TongHop()
Dim Data As Variant, Arr(1 To 65536, 1 To 6), i As Long, TenKh As String, j As Long, k As Long
Sheet2.UsedRange.Clear
    With Sheet1.Range(Sheet1.[G3], Sheet1.[A65536].End(xlUp))
        .Sort Sheet1.[A3], 1, Header:=xlYes
        Data = .Value
    End With
    If UBound(Data) = 1 Then Exit Sub
    For i = 2 To UBound(Data)
        If Data(i, 1) <> TenKh Then
            k = k + 2
            TenKh = Data(i, 1)
            Arr(k, 1) = "Tên KH"
            Arr(k, 2) = TenKh
            k = k + 1
            For j = 2 To 7
                Arr(k, j - 1) = Data(1, j)
            Next
        End If
        k = k + 1
        For j = 2 To 7
            Arr(k, j - 1) = Data(i, j)
        Next
    Next
    Sheet2.[A1:F1].Resize(k).Value = Arr
End Sub
 

File đính kèm

Upvote 0
Code thì tôi làm như thế này:
PHP:
Sub TongHop()
Dim Data As Variant, Arr(1 To 65536, 1 To 6), i As Long, TenKh As String, j As Long, k As Long
Sheet2.UsedRange.Clear
    With Sheet1.Range(Sheet1.[G3], Sheet1.[A65536].End(xlUp))
        .Sort Sheet1.[A3], 1, Header:=xlYes
        Data = .Value
    End With
    If UBound(Data) = 1 Then Exit Sub
    For i = 2 To UBound(Data)
        If Data(i, 1) <> TenKh Then
            k = k + 2
            TenKh = Data(i, 1)
            Arr(k, 1) = "Tên KH"
            Arr(k, 2) = TenKh
            k = k + 1
            For j = 2 To 7
                Arr(k, j - 1) = Data(1, j)
            Next
        End If
        k = k + 1
        For j = 2 To 7
            Arr(k, j - 1) = Data(i, j)
        Next
    Next
    Sheet2.[A1:F1].Resize(k).Value = Arr
End Sub
Xin cám ơn bạn , code của bạn khó quá mình sẽ nghiên cứu từ bước mới hiểu và áp dụng được . Bạn có thể giải thích từng dòng lệnh ko ?
 
Upvote 0
Xin cám ơn bạn , code của bạn khó quá mình sẽ nghiên cứu từ bước mới hiểu và áp dụng được . Bạn có thể giải thích từng dòng lệnh ko ?
Code không có lệnh nào lạ cả. Cái quan trọng ở đây là thuật toán: Sắp sếp lại dữ liệu theo tên khách hàng. Duyệt qua từng dòng và gán vào mảng. Khi xuất hiện khách hàng mới thì tạo thêm các dòng tiêu đề. Thế thôi.
 
Upvote 0
Tôi nhờ mọi người giúp với. Có File kèm yêu cầu nằm trong Sheet "tong hop 2"
Tạo 1 code giống như của Boyxin có cái nút bấm trong "tong hop 1"
 
Upvote 0
Tôi nhờ mọi người giúp với. Có File kèm yêu cầu nằm trong Sheet "tong hop 2"
Tạo 1 code giống như của Boyxin có cái nút bấm trong "tong hop 1"
Yêu cầu của bạn không rõ, thí dụ trong sheet "Data" mảnh DC1 loại đất LNC có 19 thửa thì diện tích tính làm sao ???
Tốt nhất bạn gởi lại một file mới có 2 sheet, sheet chứa dữ liệu và sheet kết quả, giải thích cách tính toán, lấy dữ liệu cho kết quả thật kỹ nhé bạn
Mà sao bạn không mở Topic mới mà chen vào Topic này vậy
Thân
 
Upvote 0
Yêu cầu của bạn không rõ, thí dụ trong sheet "Data" mảnh DC1 loại đất LNC có 19 thửa thì diện tích tính làm sao ???
Tốt nhất bạn gởi lại một file mới có 2 sheet, sheet chứa dữ liệu và sheet kết quả, giải thích cách tính toán, lấy dữ liệu cho kết quả thật kỹ nhé bạn
Mà sao bạn không mở Topic mới mà chen vào Topic này vậy
Thân

cảm ơn! Vì bận quá nên bac thông cảm. bác xem gúp cái File này nhé, tạo 1 CODE chạy thay công thức.
 
Upvote 0
Bác "concogia" ơi tốt quá rồi, nhờ Bác giúp thêm tý nữa!

Nhờ Bác bớt chút thời giờ sửa giúp cho hoàn thiện thêm cái bảng báo cáo. Tức là làm sao máy tự động khi chèn thêm mã đất mới, hoặc tờ bản đồ mới. Mong bác xem File nhé
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom