Xuất dữ liệu từ sheet tổng hợp sang sheet mới theo ngày tháng

Liên hệ QC

mr.hoangtho

Thành viên mới
Tham gia
6/7/12
Bài viết
27
Được thích
2
Chúc toàn thể anh chị em trong diễn đàn năm mới AN KHANG- THỊNH VƯỢNG- TÀI LỘC
Xin các pro chỉ giúp VBA excel cho vấn đề này ạ:
em có sheet 1 tổng hợp gồm các cột a: date; cột b: mã sản phẩm; cột c: số lượng
Em muốn tạo sheet mới ; kết cấu như sheet tổng hợp trang tính. Sheet 2 ứng với ngày 1/1, sheet 3 tương ứng với ngày 2/1 cứ thế cho đến sheet 365 tương ứng với ngày 31/12.
 
Chúc toàn thể anh chị em trong diễn đàn năm mới AN KHANG- THỊNH VƯỢNG- TÀI LỘC
Xin các pro chỉ giúp VBA excel cho vấn đề này ạ:
em có sheet 1 tổng hợp gồm các cột a: date; cột b: mã sản phẩm; cột c: số lượng
Em muốn tạo sheet mới ; kết cấu như sheet tổng hợp trang tính. Sheet 2 ứng với ngày 1/1, sheet 3 tương ứng với ngày 2/1 cứ thế cho đến sheet 365 tương ứng với ngày 31/12.
1/ Ở đây không có ai tên là "pro" bạn ạ.
2/ Nếu không đính kèm file mẫu thì bạn cứ tự tạo sheet mới thôi.
 
Lần chỉnh sửa cuối:
vâng em xin rút kinh nghiệm, nhờ bác giúp em với ạ. em cám ơn bác
Code thì không khó, nhưng thiết nghĩ có nên làm như vậy hay không? Tôi chưa bao giờ gặp bảng tính nào tới tận 366 sheet. Bạn làm vậy mục đích để làm gì?
 
Code thì không khó, nhưng thiết nghĩ có nên làm như vậy hay không? Tôi chưa bao giờ gặp bảng tính nào tới tận 366 sheet. Bạn làm vậy mục đích để làm gì?
mục đích của em là muốn in file dữ liệu theo từng ngày từ ngày 1/1-31/12 nhưng em không biết vba filter theo từng ngày một bác ạ. cám ơn bác đã quan tâm ạ.
 
Bạn xem file lọc thô nhất bỡi AdvancedFilter
 

File đính kèm

Sub in_tu_dong()
Dim i As Date
For i = 1 / 1 / 2019 To 31 / 12 / 2019 Step 1

ActiveSheet.Range("$A$4:$N$1863").AutoFilter Field:=8, Criteria1:=Array("=" _
), Operator:=xlFilterValues, Criteria2:=Array(2, "1/1/2019")
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Next i
End Sub


các bác giúp em sửa thế nào cho đúng ạ
 
em không lo vấn đề đấy lắm ạ
Bạn thử code này (khi dùng thì bỏ dấu nháy trước sh.printout ra)
Nếu muốn in từ ngày đến ngày thì tùy biến thêm
Mã:
Option Explicit
Sub Test()
    Dim Sh As Worksheet, Rng As Range, i As Long, Arr()
    Dim Dic As Object, Item As Variant
    Application.ScreenUpdating = False
    Set Dic = CreateObject("Scripting.Dictionary")
    Set Sh = Worksheets("IN")
    Set Rng = Sh.Range("A4:H" & Sh.Cells(Rows.Count, "B").End(xlUp).Row)
    Arr = Rng.Offset(, 7).Resize(, 1).Value
    If Sh.AutoFilterMode Then Sh.Cells.AutoFilter
    Rng.AutoFilter
    For i = 2 To UBound(Arr)
        Dic.Item(Format(Arr(i, 1), "dd/mm/yyyy")) = ""
    Next
    For Each Item In Dic.Keys
        Rng.AutoFilter Field:=8, Criteria1:=Item
        'Sh.PrintOut
    Next Item
    Application.ScreenUpdating = True
End Sub
 
Web KT

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

Back
Top Bottom