Tạo chi tiết N-X-T từ ngày đến ngày

Liên hệ QC

fullmoon2111

Thành viên mới
Tham gia
23/11/12
Bài viết
10
Được thích
2
Xin anh chị giúp mình công thức excel hoặc VBA để hiện lên tạo chi tiết N-X-T từ ngày đến ngày ạ. Mình làm ra số đầu kỳ rồi nhưng để hiện lên số nhập, xuất theo ngày tháng thì mỉnh không biết .
Mình xin gửi file đính kèm .
Mong mọi người giúp đỡ ạ
 

File đính kèm

  • MẪU NHẬP XUẤT TỒN QUẢN LÝ VỀ SỐ LƯỢNG HÀNG CHI TIẾT.rar
    884.1 KB · Đọc: 24
Xin anh chị giúp mình công thức excel hoặc VBA để hiện lên tạo chi tiết N-X-T từ ngày đến ngày ạ. Mình làm ra số đầu kỳ rồi nhưng để hiện lên số nhập, xuất theo ngày tháng thì mỉnh không biết .
Mình xin gửi file đính kèm .
Mong mọi người giúp đỡ ạ
Của bạn đây, file của bạn quá nặng dù chả có gì nhiều, quá nhiều công thức và các ô trống thừa khiên file phình to
Mã:
Sub TaochitietNXT()
    Dim duLieu, ketQua
    Dim tuNgay, denNgay As Date, timMahang As String
    Dim i, k As Long
    
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    tuNgay = Sheet7.Range("D7").Value
    denNgay = Sheet7.Range("D8").Value
    timMahang = Sheet7.Range("D9").Value
    duLieu = Sheet4.Range("A11:K" & Sheet4.Range("H999999").End(xlUp).Row).Value
    ReDim ketQua(1 To UBound(duLieu), 1 To 6)
    For i = 1 To UBound(duLieu)
        If duLieu(i, 3) >= tuNgay And duLieu(i, 3) <= denNgay And duLieu(i, 7) = timMahang Then
            k = k + 1
            ketQua(k, 1) = duLieu(i, 2)
            ketQua(k, 2) = duLieu(i, 3)
            ketQua(k, 3) = duLieu(i, 4)
            ketQua(k, 4) = duLieu(i, 5)
            ketQua(k, 5) = duLieu(i, 6)
            ketQua(k, 6) = "x"
        End If
    Next i
    With Sheet7
        .Range("F15:F1000").AutoFilter Field:=1
        .Range("A15:F1000").ClearContents
        .Range("A15").Resize(k, 6).Value = ketQua
        .Range("F15:F1000").AutoFilter Field:=1, Criteria1:="x", Operator:=xlFilterValues
    End With
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
 

File đính kèm

  • Book2.xlsm
    130 KB · Đọc: 27
Upvote 0
Thêm 1 file để bạn tham khảo:

[Xin các bạn xem file ở bài tiếp theo của mình bên dưới.]
 
Lần chỉnh sửa cuối:
Upvote 0
Của bạn đây, file của bạn quá nặng dù chả có gì nhiều, quá nhiều công thức và các ô trống thừa khiên file phình to
Mã:
Sub TaochitietNXT()
    Dim duLieu, ketQua
    Dim tuNgay, denNgay As Date, timMahang As String
    Dim i, k As Long
   
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
   
    tuNgay = Sheet7.Range("D7").Value
    denNgay = Sheet7.Range("D8").Value
    timMahang = Sheet7.Range("D9").Value
    duLieu = Sheet4.Range("A11:K" & Sheet4.Range("H999999").End(xlUp).Row).Value
    ReDim ketQua(1 To UBound(duLieu), 1 To 6)
    For i = 1 To UBound(duLieu)
        If duLieu(i, 3) >= tuNgay And duLieu(i, 3) <= denNgay And duLieu(i, 7) = timMahang Then
            k = k + 1
            ketQua(k, 1) = duLieu(i, 2)
            ketQua(k, 2) = duLieu(i, 3)
            ketQua(k, 3) = duLieu(i, 4)
            ketQua(k, 4) = duLieu(i, 5)
            ketQua(k, 5) = duLieu(i, 6)
            ketQua(k, 6) = "x"
        End If
    Next i
    With Sheet7
        .Range("F15:F1000").AutoFilter Field:=1
        .Range("A15:F1000").ClearContents
        .Range("A15").Resize(k, 6).Value = ketQua
        .Range("F15:F1000").AutoFilter Field:=1, Criteria1:="x", Operator:=xlFilterValues
    End With
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
mình xin cảm ơn nhiều
Bài đã được tự động gộp:

Thêm 1 file để bạn tham khảo:
Mình cảm ơn nhiều ạ
 
Upvote 0
Thực hiện bằng VBA ở trang 'NXT' nè, mại zô!
 

File đính kèm

  • VatTu.rar
    386.6 KB · Đọc: 33
Upvote 0
Trong câu lệnh bên dưới: Arr() = .[C11].Resize(Rws, 6).Value
đã gôm cả ĐVT của trang 'NhapDL' vô mảng; Ta có thể lấy dữ liệu ĐVT từ mảng (& khi í không cần hằng này nữa.)

Chúc các bạn vui!
 
Upvote 0
Em có sử dụng file mẫu của anh @SA_DQ để phục vụ việc theo giõi hàng hóa của mình
Nhưng tại sheet NXT cột dữ liệu Tồn đầu kỳ không được cập nhật từ sheet Danh mục.
Xin sự giúp đỡ từ anh cho code của mục này ạ
Em cảm ơn!

1615173497049.png
1615173476955.png
 

File đính kèm

  • 210305_ SO KHO TONG THEO GIOI THUNG-HOP-.xlsm
    1.1 MB · Đọc: 17
Upvote 0
Mỗi Mã hàng:
- Số lượng tồn trong sheet DMuc nên là số lượng tồn đầu năm.
- Số lượng Tồn đầu kỳ của tháng 2 phải là Số lượng tồn đầu năm + số lượng Nhập trong tháng 1 - Số lượng Xuất trong tháng 1
- Tương tự cho Tồn đầu kỳ các tháng 3, 4, ... trong năm.
- Như vậy, sheet NhapDL có thể nhập cho cả năm.
- Sheet NXT lấy dữ liệu từ ngày - đến ngày thì:
+ Tồn đầu kỳ là Số lượng tồn đầu năm + Sô lượng Nhập trước "Từ ngày" - Số lượng Xuất trước "Từ ngày".
+ SL Nhập trong Kỳ là số lượng Nhập "Từ ngày - Đến ngày"
+ SL Xuất trong Kỳ là số lượng Xuất "Từ ngày - Đến ngày"
 
Upvote 0
Cảm ơn sự phản hồi từ thầy @Ba Tê ạ . Con đang xây dựng cơ sở dữ liệu theo hướng này ạ.
File này sẽ là tổng hợp của 1 năm . Tương ứng với đó là dữ liệu ở mỗi sheet sẽ là nguyên 1 năm ạ
 
Upvote 0
Ở trang 'DMuc' ta có thể chừa ra 12 cột; Trong đó cột đầu tiên của chúng sẽ là tồn đầu năm; sau đó là số liệu tương ứng tồn của các tháng.
Việc này sẽ làm nhẹ đi tính toán cho các báo cáo bất kỳ chu kỳ nào trong năm hiện hành.
Chỉ có điều là từ ngày 1 đến ngày 3 hàng tháng cần 1 macro tự động tính tồn đầu /cuối kỳ của tháng.
 
Upvote 0
Web KT
Back
Top Bottom