cần xử lý dữ liệu trùng nhau bằng VBA (2 người xem)

Liên hệ QC

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

  • Tôi tuân thủ nội quy khi đăng bài

    sonminhtran

    Thành viên mới
    Tham gia
    11/4/18
    Bài viết
    29
    Được thích
    4
    Giới tính
    Nam
    Mình có 1 file bao gồm 2 Sheet cần xử lý dữ liệu trùng bằng VBA. Xin vui lòng giúp đỡ

    1. Sheet 'Data' là dữ liệu gốc lấy từ hệ thống ra. Do có 2 dòng giống nhau nên cần thể hiện 1 dòng qua Sheet 'TO' -> mục đích để nhìn dễ và lọc dữ liệu cho nhanh không cần phải cộng số lượng 2 dòng lại cho nhanh

    2. Sheet 'TO' là dữ liệu được lọc trùng rồi sau đó sum lại số lượng theo giải thích file đính kèm

    Xin cảm ơn
     

    File đính kèm

    Mình có 1 file bao gồm 2 Sheet cần xử lý dữ liệu trùng bằng VBA. Xin vui lòng giúp đỡ

    1. Sheet 'Data' là dữ liệu gốc lấy từ hệ thống ra. Do có 2 dòng giống nhau nên cần thể hiện 1 dòng qua Sheet 'TO' -> mục đích để nhìn dễ và lọc dữ liệu cho nhanh không cần phải cộng số lượng 2 dòng lại cho nhanh

    2. Sheet 'TO' là dữ liệu được lọc trùng rồi sau đó sum lại số lượng theo giải thích file đính kèm

    Xin cảm ơn
    Trong khi chờ đợi các phương án khác, hãy dùng tạm code (Trong file đính kèm) sau:
    Thay đổi K1/Sh TO và nhấn nút "Chạy code" để được kết quả.
     
    DL (Dữ liệu) của chủ bài đăng đưa ra chưa đầy đủ, cụ thể đó là DL chỉ có 1 ngày duy nhất;
    & vì vậy sẽ làm ta mất đi cái nhìn tổng quan; dẫn đến dễ chệch hường giải quyết vấn đề.
    Phải chi thay 6 dòng (từ dòng 13) là DL của ngày khác gần kề nào đó thì sẽ khả dĩ hơn nhiều cho mọi người!
     
    Trong khi chờ đợi các phương án khác, hãy dùng tạm code (Trong file đính kèm) sau:
    Thay đổi K1/Sh TO và nhấn nút "Chạy code" để được kết quả.
    Chào anh, mình chưa thấy file anh gửi đính kèm. Cảm ơn anh
    Bài đã được tự động gộp:

    DL (Dữ liệu) của chủ bài đăng đưa ra chưa đầy đủ, cụ thể đó là DL chỉ có 1 ngày duy nhất;
    & vì vậy sẽ làm ta mất đi cái nhìn tổng quan; dẫn đến dễ chệch hường giải quyết vấn đề.
    Phải chi thay 6 dòng (từ dòng 13) là DL của ngày khác gần kề nào đó thì sẽ khả dĩ hơn nhiều cho mọi người!
    File gốc của Sheet 'DATA' đúng là có nhiều ngày dựa theo cột B. Nhưng ở Sheet 'TO' mình chọn số TO ở ô $K$1 thì dữ liệu được lấy từ Sheet 'DATA' qua lọc theo các số TO ở cột C. Cảm ơn đã chia sẻ và có thể mong anh giúp đỡ thêm
    Mình xin gửi lại file có bổ sung như ý anh nói là nếu thêm ngày ở cột B thì sẽ có thêm ngày cho file nhiều dữ liệu. Nhưng mục đích chính mình cần là Sheet 'TO' khi chọn ở ô $K$1 thì chỉ cần tham chiếu Sheet 'DATA' dò tìm cột C trùng với $K$1 thì lọc trùng và sum lại thể hiện ở Sheet 'TO'
     

    File đính kèm

    Lần chỉnh sửa cuối:
    Để có số liệu trong vùng như trong hình, có thể chạy macro này:
    PHP:
    Sub Loc_DL()
    ' Loc_DL Macro'
    ' Keyboard Shortcut: Ctrl+Shift+R
        Application.CutCopyMode = False
        Sheets("DL").Range("B1:M25").AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Range("L1:M2"), CopyToRange:=Range("L11:M11"), Unique:=True
    End Sub

    1754215989348.png
     
    Xin lỗi. Tôi quên không kiểm tra lại.
    Cảm ơn anh, có 2 chỗ cần anh hỗ trợ thêm:

    1. Sheet 'TO' ở cột Z trở xuống thì làm sao để tăng dòng khi mà Sheet 'DATA' cột D tăng dữ liệu. Vì thấy trong file anh gửi là có bao nhiêu đây dòng
    1754218868609.png
    2. Sheet 'DATA' ở dòng 20, 21 ô I20, I21 tên giống nhau nhưng J20, J21 khác nhau thì tách ra ở Sheet 'TO' ô C15, C16 và G15, G16 (vì dữ liệu gốc ở Sheet 'DATA' khác date sản phẩm

    Cảm ơn anh lần nữa
     

    File đính kèm

    Để có số liệu trong vùng như trong hình, có thể chạy macro này:
    PHP:
    Sub Loc_DL()
    ' Loc_DL Macro'
    ' Keyboard Shortcut: Ctrl+Shift+R
        Application.CutCopyMode = False
        Sheets("DL").Range("B1:M25").AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Range("L1:M2"), CopyToRange:=Range("L11:M11"), Unique:=True
    End Sub

    View attachment 309102
    Mình là như anh hướng dẫn nhưng báo lỗi, vui lòng hỗ trợ. Xin cảm ơn

    1754231081193.png
     

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

    Back
    Top Bottom