-
Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 12-03-14, 10:01 AM
Mình muốn xuất số liệu trong Reports có tên là "R_BKHDBan_Excel" sang Excel, với điều kiện :
Dòng đầu tiên trong Reports "1. Hàng hóa, dịch vụ không chịu thuế GTGT" khi xuất sang Excel thì nằm ngay dòng thứ 17 trên bảng Excel.
Chỉ điều kiện như vậy thôi, mong các bạn hướng dẫn nhé.
Mình gửi kèm file mẫu.
http://upfile.vn/62hx/XuatExcel.zip -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 12-03-14, 11:29 AM
Có ai giúp mình với. Cám ơn ! -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 21-03-14, 02:06 AM
Không biết bạn đã tìm ra đáp án chưa?
Để trả lời chính xác cần thêm một vài thông tin cụ thể như:
1-Bạn muốn xuất ra một file Excel mới hay ghi vào một file đã có dữ liệu?
2-Phiên bản Access < 2000, 2000-2003, hay >= 2007 ?
3-Sao y report (nguyên định dạng) hay chỉ xuất dữ liệu từ nguồn của repot?
Có nhiều cách đề xuất ra excel như dùng Macro, DoCmd.OutputTo, DAO,ADO
Mình đưa ra một vài ví dụ nhé:
1-Xuất ra file Excel mới:
-Với phiên bản >= 2007 :
Dùng DoCmd.OutputTo
Mã:Private Sub Command3_Click()
On Error GoTo Err_Command3_Click
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim strPath As String
Dim i As Byte
strPath = "C:\Vidu.xls"
'DoCmd.RunMacro "Macro1"
DoCmd.OutputTo acOutputReport, "R_BKHDBan_Excel", "MicrosoftExcelBiff8(*.xls)", strPath, False, "", , acExportQualityPrint
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open(strPath)
wb.Worksheets(1).Range("1:1").EntireRow.Delete 'Xóa dòng tiêu đề
For i = 1 To 16
wb.Worksheets(1).Rows("1:1").Insert Shift:=xlDown 'Chèn thêm vào 16 dòng
Next i
xlApp.Visible = True 'Hiện file excel lên
Set wb = Nothing
Set xlApp = Nothing
Exit_Command3_Click:
Exit Sub
Err_Command3_Click:
If Not xlApp Is Nothing Then
xlApp.Quit
Set xlApp = Nothing
End If
MsgBox Err.Description
Resume Exit_Command3_Click
End Sub
-Access 2000,2003 không hỗ trợ Unicode khi dử dụng DoCmd.OutputTo nên bạn phải tạo một macro1 với Output file: C:\Vidu.xls sau đó thay DoCmd.OutputTo bằng DoCmd.RunMacro "Macro1"
2-Xuất ra file đã có dữ liệu:
VD dùng DAO:
Mã:Private Sub Command4_Click()
On Error GoTo Err_Command4_Click
Dim rs As DAO.Recordset
Dim XL As Excel.Application
Dim wb As Workbook
Set rs = CurrentDb.OpenRecordset("QryBKHDBan_Excel", dbOpenSnapshot)
Set XL = CreateObject("Excel.Application")
Set wb = XL.Workbooks.Open("C:\Vidu.xls")
With wb
.Worksheets(1).Range("A17").CopyFromRecordset rs
.Worksheets(1).Columns.EntireColumn.AutoFit
.Save
.Close False
End With
Set rs = Nothing
Set wb = Nothing
XL.Quit
Set XL = Nothing
Exit_Command4_Click:
Exit Sub
Err_Command4_Click:
Set rs = Nothing
If Not XL Is Nothing Then
XL.Quit
Set XL = Nothing
End If
MsgBox Err.Description
Resume Exit_Command4_Click
End Sub -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 21-03-14, 08:55 AM
Cám ơn : MatTroiNguQuen
Mình cũng không rành lắm về khoản này. Bạn có thể giúp mình demo được không ạ.
Để trả lời chính xác cần thêm một vài thông tin cụ thể như:
1-Bạn muốn xuất ra một file Excel mới hay ghi vào một file đã có dữ liệu? -> Ra file mới
2-Phiên bản Access < =2000, 2000-2003, hay >= 2007 ? -> Access 2003
3-Sao y report (nguyên định dạng) hay chỉ xuất dữ liệu từ nguồn của repot? -> Nguyên định dạng.
Cám ơn bạn rất nhiều ! -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 21-03-14, 10:41 AM
File của bạn dây:
Demo XuatExcel.rar
Nhớ sửa Output file: C:\Vidu.xls của Macro1 và strPath = "C:\Vidu.xls" trong thủ tục nút nhấn theo ý bạn nhé -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 21-03-14, 11:22 AM
Không tải về được, bạn có thể gửi mail cho mình xin được không.
doquanglam.bli@gmail.com -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 21-03-14, 01:25 PM
Đã gởi qua mail doquanglam.bli@gmail.com
Mail của mình: mattroinguquen@yahoo.com -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 21-03-14, 03:08 PM
Cám ơn MatTroiNguQuen
Đúng theo yêu cầu rồi. Mình muốn thêm một chút nữa (Theo yêu cầu đã gửi lại mail cho bạn rồi) -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 22-03-14, 01:48 AM
Ẹc, đừng cảm ơn suông vậy chứ! Mình chỉ thích cái nút Thanks thui
Mình cũng có hỗ trợ cho một số bạn qua mail nhưng nhận thấy bài của bạn không cần bảo mật riêng tư nên xin phép được đưa lên đây. Như vậy sẽ có giá trị chia sẻ tốt hơn. Chúng ta cùng bàn luận và đưa ra giải pháp tốt nhất.
Theo như ví dụ mẫu gởi cho mình thì bạn muốn thêm số thứ tự và tính tổng số mẫu tin (số dòng) có trong mỗi nhóm đồng thời hai cột này có font color màu đỏ?
Bạn xem ví dụ sau có đúng ý bạn không nhé:
http://www.mediafire.com/download/4r9c3m...Excel2.rar -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 23-03-14, 07:32 AM
Hì, màu đỏ để bạn biết là những gì mình cần thêm chứ không phải khi xuất sang Excel có chữ màu đỏ.
Ý của mình là sau mỗi chỉ tiêu sau khi xuất sang Excel rồi thì chèn thêm 1 dòng và điền chữ "Tổng" vào dòng vừa điền đó (trên cột B), không cần tính tổng số tiền. Đồng thời chỉ tiêu nào có số liệu thì đánh số thứ tự luôn.
Mục đích chuyển sang Excle đúng theo khuôn mẫu của Tổng cục thuế (Khỏi phải sửa lại) để đưa vào ứng dụng HTKK