[Help] VBA Lọc dữ liệu có điều kiện

Liên hệ QC

robinhsoon

Thành viên hoạt động
Tham gia
19/1/16
Bài viết
153
Được thích
11
Thân Chào cả nhà GPEX!

Mong cả nhà giúp em một việc ạ,

Hiện tại em có 01 File data gồm 02 Sheet Nhập liệuPhiếu đặt hàng.
Khi em Nhập vào Cột G3 (Số chứng từ) ở sheet Phiếu đặt hàng, thì tương ứng với sheet nhập liệu nếu có số chứng từ thì sẽ tự lấy data ở cột tên Hàng hóa qua cột D11(mô tả).

Trong file em có ví dụ cụ thể ạ.

Mong cả nhà giúp đỡ, em chân thành cảm ơn ạ.
 

File đính kèm

Thân Chào cả nhà GPEX!

Mong cả nhà giúp em một việc ạ,

Hiện tại em có 01 File data gồm 02 Sheet Nhập liệuPhiếu đặt hàng.
Khi em Nhập vào Cột G3 (Số chứng từ) ở sheet Phiếu đặt hàng, thì tương ứng với sheet nhập liệu nếu có số chứng từ thì sẽ tự lấy data ở cột tên Hàng hóa qua cột D11(mô tả).

Trong file em có ví dụ cụ thể ạ.

Mong cả nhà giúp đỡ, em chân thành cảm ơn ạ.
Bạn thử:
PHP:
Sub Test()
    Dim a, b, i&, k%, DK
    DK = Sheets("phieudathang").Range("G3")
    With Sheets("Nhaplieu")
        a = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 12)
    End With
    ReDim b(1 To UBound(a), 1 To 1)
    For i = 1 To UBound(a)
        If a(i, 2) = DK Then
            k = k + 1
            b(k, 1) = a(i, 5)
        End If
    Next i
    If k Then
        Sheets("phieudathang").Range("D11:D1000").ClearContents
        Sheets("phieudathang").[D11].Resize(k, 1) = b
    End If
End Sub

Chú ý:
1.Tên Sheet bạn đặt tên không dấu
2. Bỏ Merger cột D và chạy Code.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử:
PHP:
Sub Test()
    Dim a, b, i&, k%, DK
    DK = Sheets("phieudathang").Range("G3")
    With Sheets("Nhaplieu")
        a = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 12)
    End With
    ReDim b(1 To UBound(a), 1 To 1)
    For i = 1 To UBound(a)
        If a(i, 2) = DK Then
            k = k + 1
            b(k, 1) = a(i, 5)
        End If
    Next i
    If k Then
        Sheets("phieudathang").Range("D11:D1000").ClearContents
        Sheets("phieudathang").[D11].Resize(k, 1) = b
    End If
End Sub

Chú ý:
1.Tên Sheet bạn đặt tên không dấu
2. Bỏ Merger cột D và chạy Code.
Mình đang tìm bài giống như bài này, mục đích để làm phiếu nhập - xuất kho
Các Bạn cho mình hỏi ở bài trên ở sheet phieudathang nếu muốn lấy thêm thông tin như:
ĐVT, Số lượng , đơn giá, thành tiền thì code như thế nào
P/s: sheet nhap liệu của mình khoảng vài chục ngàn dòng
Cảm ơn các bạn!
 
Upvote 0
Mình đang tìm bài giống như bài này, mục đích để làm phiếu nhập - xuất kho
Các Bạn cho mình hỏi ở bài trên ở sheet phieudathang nếu muốn lấy thêm thông tin như:
ĐVT, Số lượng , đơn giá, thành tiền thì code như thế nào
P/s: sheet nhap liệu của mình khoảng vài chục ngàn dòng
Cảm ơn các bạn!
Bạn thử:
PHP:
Sub Test2()
    Dim a, b, i&, k%, DK
    DK = Sheets("phieudathang").Range("G3")
    With Sheets("Nhaplieu")
        a = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 12)
    End With
    ReDim b(1 To UBound(a), 1 To 6)
    For i = 1 To UBound(a)
        If a(i, 2) = DK Then
            k = k + 1
            b(k, 1) = a(i, 7)
            b(k, 2) = a(i, 6)
            b(k, 3) = a(i, 5)
            ' b(k, 4) = ""
            b(k, 5) = a(i, 8)
            b(k, 6) = a(i, 9)
        End If
    Next i
    If k Then
        Sheets("phieudathang").Range("D11:G1000").ClearContents
        Sheets("phieudathang").[B11].Resize(k, 6) = b
    End If
End Sub
 
Upvote 0
Bạn thử:
PHP:
Sub Test2()
    Dim a, b, i&, k%, DK
    DK = Sheets("phieudathang").Range("G3")
    With Sheets("Nhaplieu")
        a = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 12)
    End With
    ReDim b(1 To UBound(a), 1 To 6)
    For i = 1 To UBound(a)
        If a(i, 2) = DK Then
            k = k + 1
            b(k, 1) = a(i, 7)
            b(k, 2) = a(i, 6)
            b(k, 3) = a(i, 5)
            ' b(k, 4) = ""
            b(k, 5) = a(i, 8)
            b(k, 6) = a(i, 9)
        End If
    Next i
    If k Then
        Sheets("phieudathang").Range("D11:G1000").ClearContents
        Sheets("phieudathang").[B11].Resize(k, 6) = b
    End If
End Sub


Mình có thử chạy file theo đoạn code này nhưng nó báo lỗi :(
 
Upvote 0
Web KT

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

Back
Top Bottom