LuuGiaPhúc
Thành viên hoạt động
- Tham gia
- 28/7/21
- Bài viết
- 126
- Được thích
- 51
Chào các anh chị,
Em có 1 đoạn code dùng để xuất 5 sheet (chỉ định sẵn là sheet 5 , 6, 7, 8 , 9)
Sub Export_5_Sheet_NXT_HKM()
Dim Path As String, FileName As String, i As Byte
Application.DisplayAlerts = False
Sheets(Array("Chi tiet nhap", "Chi tiet xuat", "Bao cao ton", "Xuat chi phi", "Thanh ly")).Copy
Path = ThisWorkbook.Path
FileName = "Báo cáo NXT HKM AS HO Thang " & Format(Now(), "mm.yyyy")
With ActiveWorkbook
.SaveAs Path & "\" & FileName & ".xlsx"
ActiveSheet.Shapes.Range(Array("Button 1")).Delete
MsgBox "File duoc luu cùng thu muc voi file tong hop " & vbNewLine & vbNewLine & "Tên file : Báo cáo NXT HKM AS HO Thang " & Format(Now(), "mm.yyyy") & ".xlsx", , "Thông báo : "
End With
Application.DisplayAlerts = True
End Sub
Hiện nay, em muốn thêm 1 yêu cầu :
Trong từng sheet, em chỉ muốn nó xuất những vùng có dữ liệu thôi, chứ không phải bê nguyên sheet như cái code bên trên , cụ thể như sau :
Sheet CHI TIET NHAP : chỉ xuất vùng A1:G cuối cùng có dữ liệu (vùng AA:AG là vùng công thức tạm, không cần xuất) , như trong hình thì sẽ bỏ hàng trống ở hàng 20:76 không xuất vì không có dữ liệu
Sheet CHI TIET XUAT : chỉ xuất vùng A1:V83 (bỏ hàng 36 : 76 vì không có dữ liệu. Vùng F:BZ : vùng này data được import từ các file báo cáo gởi về nên tùy, ví dụ như có 17 văn phòng đặt hàng thì sẽ có data từ F:V , nếu có 10 văn phòng đặt hàng thì sẽ có data từ F:O, nhiều nhất là tới cột BZ là hết nên em phải kẻ khung sẵn, nhưng khi xuất ra mà nó xuất nguyên sheet thì em lại phải đi xóa bằng tay những hàng và cột trống.
sheet BAO CAO TON thì giống như sheet CHI TIET NHAP CHỈ XUẤT TỪ VÙNG A1: D , bỏ hàng 38:78 vì không có dữ liệu
2 sheet còn lại là XUAT CHI PHI và THANH LÝ CŨNG TƯƠNG TỰ VẬY , xuất A1:J85 , bỏ hàng 8:75 vì không có data
Tất cả data của 5 sheet này em import từ các báo cáo do các văn phòng gởi về, nên số lượng hàng tùy mỗi tuần.
Hiện nay, dùng code ở trên , sau khi xuất ra thành file báo cáo, em phải vào từng sheet để xóa hàng và cột trống rất thủ công.
Nhờ các anh chị hỗ trợ giúp. Em cảm ơn
Em có 1 đoạn code dùng để xuất 5 sheet (chỉ định sẵn là sheet 5 , 6, 7, 8 , 9)
Sub Export_5_Sheet_NXT_HKM()
Dim Path As String, FileName As String, i As Byte
Application.DisplayAlerts = False
Sheets(Array("Chi tiet nhap", "Chi tiet xuat", "Bao cao ton", "Xuat chi phi", "Thanh ly")).Copy
Path = ThisWorkbook.Path
FileName = "Báo cáo NXT HKM AS HO Thang " & Format(Now(), "mm.yyyy")
With ActiveWorkbook
.SaveAs Path & "\" & FileName & ".xlsx"
ActiveSheet.Shapes.Range(Array("Button 1")).Delete
MsgBox "File duoc luu cùng thu muc voi file tong hop " & vbNewLine & vbNewLine & "Tên file : Báo cáo NXT HKM AS HO Thang " & Format(Now(), "mm.yyyy") & ".xlsx", , "Thông báo : "
End With
Application.DisplayAlerts = True
End Sub
Hiện nay, em muốn thêm 1 yêu cầu :
Trong từng sheet, em chỉ muốn nó xuất những vùng có dữ liệu thôi, chứ không phải bê nguyên sheet như cái code bên trên , cụ thể như sau :
Sheet CHI TIET NHAP : chỉ xuất vùng A1:G cuối cùng có dữ liệu (vùng AA:AG là vùng công thức tạm, không cần xuất) , như trong hình thì sẽ bỏ hàng trống ở hàng 20:76 không xuất vì không có dữ liệu
Sheet CHI TIET XUAT : chỉ xuất vùng A1:V83 (bỏ hàng 36 : 76 vì không có dữ liệu. Vùng F:BZ : vùng này data được import từ các file báo cáo gởi về nên tùy, ví dụ như có 17 văn phòng đặt hàng thì sẽ có data từ F:V , nếu có 10 văn phòng đặt hàng thì sẽ có data từ F:O, nhiều nhất là tới cột BZ là hết nên em phải kẻ khung sẵn, nhưng khi xuất ra mà nó xuất nguyên sheet thì em lại phải đi xóa bằng tay những hàng và cột trống.
sheet BAO CAO TON thì giống như sheet CHI TIET NHAP CHỈ XUẤT TỪ VÙNG A1: D , bỏ hàng 38:78 vì không có dữ liệu
2 sheet còn lại là XUAT CHI PHI và THANH LÝ CŨNG TƯƠNG TỰ VẬY , xuất A1:J85 , bỏ hàng 8:75 vì không có data
Tất cả data của 5 sheet này em import từ các báo cáo do các văn phòng gởi về, nên số lượng hàng tùy mỗi tuần.
Hiện nay, dùng code ở trên , sau khi xuất ra thành file báo cáo, em phải vào từng sheet để xóa hàng và cột trống rất thủ công.
Nhờ các anh chị hỗ trợ giúp. Em cảm ơn
File đính kèm
Lần chỉnh sửa cuối: