Giúp em phần Sort này với ạ !! (1 người xem)

Liên hệ QC

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

nguyen_sammi

Thành viên mới
Tham gia
11/9/12
Bài viết
27
Được thích
0
File của em là sau khi nhấn nút Sort thì những hàng có giá trị bằng 0 ở cột G sẽ tự động xóa đi, chỉ hiển thị những hàng có số liệu để đặt hàng thôi. Và sort ngày nhận hàng ở cột J theo thứ tự ngày nhận. Em viết được phần đầu rồi còn phần Sort thôi. Cái này em có thể dùng Record macro để viết được,nhưng mà đối với những trường hợp cố định từ B20:L100 chẳng hạn. Nhưng cái này lại ko cố định số lượng row, tùy vào hàng đặt hàng tháng khi ít, khi nhiều, nên trong phần Range em ko biết làm sao. Các anh chị giúp em với, cái này chắc nhanh mà nhỉ @$@!^%
 

File đính kèm

File của em là sau khi nhấn nút Sort thì những hàng có giá trị bằng 0 ở cột G sẽ tự động xóa đi, chỉ hiển thị những hàng có số liệu để đặt hàng thôi. Và sort ngày nhận hàng ở cột J theo thứ tự ngày nhận. Em viết được phần đầu rồi còn phần Sort thôi. Cái này em có thể dùng Record macro để viết được,nhưng mà đối với những trường hợp cố định từ B20:L100 chẳng hạn. Nhưng cái này lại ko cố định số lượng row, tùy vào hàng đặt hàng tháng khi ít, khi nhiều, nên trong phần Range em ko biết làm sao. Các anh chị giúp em với, cái này chắc nhanh mà nhỉ @$@!^%
Thử với code này xem, N1:P1 là dữ liệu chuẩn để ghi vào cuối bảng, chuyện kẻ khung bạn tự làm nhé.
PHP:
Public Sub GPE()
Application.ScreenUpdating = False
Dim Rng(), Arr(), I As Long, J As Long, K As Long, Tem As Variant
With Sheets("PO FORM")
        Rng = .Range(.[B20], .[B65536].End(xlUp)).Resize(, 11).Value
        ReDim Arr(1 To UBound(Rng, 1), 1 To 11)
    For I = 1 To UBound(Rng, 1)
        If Rng(I, 6) > 0 Then
                K = K + 1
            For J = 1 To 11
                Arr(K, J) = Rng(I, J)
            Next J
        End If
    Next I
    .[B20:L65536].ClearContents
    .[B20:L65536].Interior.ColorIndex = 0
    .[B20].Resize(K, 11).Value = Arr
    .[B20].Resize(K, 11).Sort Key1:=Range("J20"), Order1:=xlAscending, Header:=xlNo
    .[C20].Offset(K + 1).Value = .[N1].Value
    .[K20].Offset(K + 1).Value = "=SUM(R20C11:R[-2]C)"
    .[B20].Offset(K + 1).Resize(, 11).Interior.ColorIndex = 36
    .[B20].Offset(K + 3).Value = .[O1].Value
    .[B20].Offset(K + 7).Value = .[P1].Value
End With
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom