Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 14

Chủ đề: Tạo marco lọc dữ liệu theo điều kiện

  1. #1
    ngochoang7978 Guest

    Tạo marco lọc dữ liệu theo điều kiện

    Mình xin nhờ các bạn giúp đỡ!
    Các bạn giúp đỡ mình lọc theo điều kiện như ở file thẻ kho bên dưới.
    Ví dụ: Khi mình lọc dữ liệu: Xi măng thì bên cột nhập sẽ có kết quả nếu list data có, và tương tự bên cột xuất nếu có ở bên list data.
    Cảm ơn các bạn rất nhiều, hy vọng sớm nhận được hồi âm từ các bạn.

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    1
    Trích dẫn Gửi bởi aicungyeuanh
    Mình xin nhờ các bạn giúp đỡ!
    Các bạn giúp đỡ mình lọc theo điều kiện như ở file thẻ kho bên dưới.
    Ví dụ: Khi mình lọc dữ liệu: Xi măng thì bên cột nhập sẽ có kết quả nếu list data có, và tương tự bên cột xuất nếu có ở bên list data.
    Cảm ơn các bạn rất nhiều, hy vọng sớm nhận được hồi âm từ các bạn.
    Tôi thấy code trong file đáp ứng yêu cầu của bạn rồi mà bạn còn muốn giúp đỡ về cái gì nữa?

  3. #3
    NguyenDung Guest
    Đây là file mình copy trên mạng về, bây giờ mình mong muốn được chỉ dẫn cách làm mà bạn

  4. #4
    jindovn Guest
    Trích dẫn Gửi bởi aicungyeuanh
    Đây là file mình copy trên mạng về, bây giờ mình mong muốn được chỉ dẫn cách làm mà bạn
    Đó là tại bạn không nói rõ từ đầu chứ bộ, trong bài #1 đâu thấy bạn đề cập gì đến việc hướng dẫn cách làm đâu.
    Vậy bạn đọc code trong file, bạn có hiểu nó đã làm những gì không?

  5. #5
    somei00 Guest
    Mình không hiểu bạn ơi, vậy nên mình đang cần sự giúp đỡ mà. Thế nên mình với mò vào diễn đàn tìm những người nhiệt tình như bạn để học hỏi.
    Bạn chỉ mình cách tạo marco lọc hoặc hướng dẫn mình lọc theo điều kiện trong lọc nâng cao ( Advanced Filter ) để lọc theo điều kiện và trả về đúng cột nhập - cột xuất

  6. #6
    acaramia Guest
    Trích dẫn Gửi bởi aicungyeuanh
    Mình xin nhờ các bạn giúp đỡ!
    Các bạn giúp đỡ mình lọc theo điều kiện như ở file thẻ kho bên dưới.
    Ví dụ: Khi mình lọc dữ liệu: Xi măng thì bên cột nhập sẽ có kết quả nếu list data có, và tương tự bên cột xuất nếu có ở bên list data.
    Cảm ơn các bạn rất nhiều, hy vọng sớm nhận được hồi âm từ các bạn.
    file bạn đưa ra đáp ứng đúng yêu cầu rồi, còn nếu không hiểu chỗ nào cứ lên search chỗ ấy rồi ngẫm từ từ sẽ ra chứ diễn giải cách làm chắc cũng phải vài trang giấy A4

  7. #7
    boombut Guest
    Trích dẫn Gửi bởi minhduongct
    file bạn đưa ra đáp ứng đúng yêu cầu rồi, còn nếu không hiểu chỗ nào cứ lên search chỗ ấy rồi ngẫm từ từ sẽ ra chứ diễn giải cách làm chắc cũng phải vài trang giấy A4
    Mình biết tạo marco rồi xin bạn hướng dẫn cách lọc nâng cao để lọc từ list data theo yêu cầu và trả về đúng cột mà mình cần

  8. #8
    Sơn Tùng Guest
    Trích dẫn Gửi bởi aicungyeuanh
    Mình không hiểu bạn ơi, vậy nên mình đang cần sự giúp đỡ mà. Thế nên mình với mò vào diễn đàn tìm những người nhiệt tình như bạn để học hỏi.
    Bạn chỉ mình cách tạo marco lọc hoặc hướng dẫn mình lọc theo điều kiện trong lọc nâng cao ( Advanced Filter ) để lọc theo điều kiện và trả về đúng cột nhập - cột xuất
    Tôi ghi chú từng câu lệnh trong code để bạn từ từ ngâm cứu nhé:
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shCore.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shAutoloader.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushAppleScript.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushAS3.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushBash.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushColdFusion.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCpp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCSharp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushCss.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushDelphi.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushDiff.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushErlang.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushGroovy.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJava.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJavaFx.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushJScript.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPerl.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPhp.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPlain.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPowerShell.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushPython.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushRuby.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushSass.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushScala.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushSql.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushVb.js"></script>
    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shBrushXml.js"></script>

    <script type="text/javascript" src="/forum/vctinh_xcode/scripts/shAutoloader.js"></script>

    <link type="text/css" rel="stylesheet" href="/forum/vctinh_xcode/styles/shCoreDefault.css">
    <link type="text/css" rel="Stylesheet" href="/forum/vctinh_xcode/styles/shThemeDefault.css">

    <pre class="brush: vb; toolbar: false;">Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [F2]) Is Nothing Then 'Nếu ô thay đổi là ô F2 thì làm việc
    Dim Sh As Worksheet, Rng As Range, sRng As Range 'Khai báo biến
    Dim MyAdd As String 'Khai báo biến

    Set Sh = ThisWorkbook.Worksheets("NhatKy") 'Đặt cho biến Sh là sheet NhatKy (mục đích cho gọn dòng lệnh số 8)
    [b8].Resize(13, 5).ClearContents 'Xóa dữ liệu vùng chứa kết quả
    Set Rng = Sh.Range(Sh.[F6], Sh.[F6].End(xlDown)) 'Thiết lập biến Rng là vùng dữ liệu nguồn
    Set sRng = Rng.Find(Target.Offset(1).Value, , xlValues, xlWhole) 'Tìm mã hàng (ô F3) trong vùng Rng và gán cho biến sRng
    If Not sRng Is Nothing Then 'Nếu tìm thấy mã hàng thì làm các lệnh tiếp theo
    MyAdd = sRng.Address 'Gán địa chỉ sRng cho biến MyAdd, mục đích cho biết đây là ô đầu tiên tìm thấy
    Do 'Làm những việc sau
    With [B21].End(xlUp).Offset(1) 'Câu lệnh With này nhằm làm việc với ô trống đầu tiên trong vùng chứa kết quả
    .Value = sRng.Offset(, -4).Value 'Gán số chứng từ
    .Offset(, 1).Value = sRng.Offset(, -2).Value 'Gán ngày NX'
    .Offset(, 2).Value = sRng.Offset(, 2).Value 'Gán ĐVT'
    If sRng.Offset(, -3).Value = "N" Then 'Nếu loại chứng từ là Nhập thì...
    .Offset(, 3).Value = sRng.Offset(, 1).Value 'Gán cột Số lượng cho cột Nhập
    Else 'Ngược lại (loại chứng từ là Xuất)
    .Offset(, 4).Value = sRng.Offset(, 1).Value 'Gán cột Số lượng cho cột Xuất
    End If 'Hết kiểm tra loại chứng từ
    End With 'Làm việc xong với hàng dữ liệu mới nhập
    Set sRng = Rng.FindNext(sRng) 'Tìm ô tiếp theo chứa mã hàng tại ô F3 và gán cho biến sRng
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd 'Lặp cho đến khi không tìm thấy nữa hoặc sRng là ô đầu tiên tìm thấy
    Else 'Ngược lại (không tìm thấy mã hàng)...
    MsgBox "Nothing" '... thì xuất hiện hộp thoại thông báo.
    End If
    End If
    End Sub</pre>

    <script type="text/javascript">
    function path()
    {
    var args = arguments,
    result = []
    ;

    for(var i = 0; i < args.length; i++)
    result.push(args[i].replace('@', '/forum/vctinh_xcode/scripts/'));
    return result;
    };

    SyntaxHighlighter.autoloader.apply(null, path(
    'applescript @shBrushAppleScript.js',
    'actionscript3 as3 @shBrushAS3.js',
    'ahk autohotkey @shBrushAhk.js',
    'asm x86 @shBrushAsm.js',
    'bash shell @shBrushBash.js',
    'coldfusion cf @shBrushColdFusion.js',
    'cpp c @shBrushCpp.js',
    'c# c-sharp csharp @shBrushCSharp.js',
    'css @shBrushCss.js',
    'delphi pascal @shBrushDelphi.js',
    'diff patch pas @shBrushDiff.js',
    'erl erlang @shBrushErlang.js',
    'groovy @shBrushGroovy.js',
    'java @shBrushJava.js',
    'jfx javafx @shBrushJavaFX.js',
    'js jscript javascript @shBrushJScript.js',
    'perl pl @shBrushPerl.js',
    'php @shBrushPhp.js',
    'text plain @shBrushPlain.js',
    'py python @shBrushPython.js',
    'ruby rails ror rb @shBrushRuby.js',
    'sass scss @shBrushSass.js',
    'scala @shBrushScala.js',
    'sql SQL @shBrushSql.js',
    'vb vbnet vba @shBrushVb.js',
    'xml xhtml xslt html @shBrushXml.js'
    ));
    SyntaxHighlighter.config.stripBrs = true;
    SyntaxHighlighter.all();
    </script>

  9. #9
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Bạn có thể giúp mình từng bước tạo được cái code như vậy bằng Advanced Filter không ?

  10. #10
    dienlanh_hanoi Guest
    Trích dẫn Gửi bởi aicungyeuanh
    Bạn có thể giúp mình từng bước tạo được cái code như vậy bằng Advanced Filter không ?
    Bài này nếu dùng Advanced Filter để giải quyết thì cần phải thỏa mãn một số yêu cầu:
    - Tiêu đề bảng dữ liệu nguồn và tiêu đề của bảng Thẻ kho phải hoàn toàn giống nhau đối với các cột tương ứng, chẳng hạn cột D sheet NhatKy (Ngày NX) và cột C sheet TheKho phải có tiêu đề trùng khớp.
    - Cột Số lượng trên sheet NhatKy phải được tách thành 2 côt Nhập, Xuất (có thể sử dụng cột phụ). Tuy nhiên, việc sử dụng thêm 2 cột phụ chứa công thức sẽ làm cho file nặng nề khi dữ liệu lớn.
    Do đó, với bài này, tôi nghĩ rằng hướng xử lý bằng phương thức Find như trong file trên là ổn.
    Thêm một hướng khác là sử dụng mảng để giải quyết vấn đề. Không biết liệu bạn có muốn đi theo hướng này không?

Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •