-
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 24-03-14, 05:43 PM
Nghe thì có vẻ đơn giản nhưng làm thì mới thấy khá rắc rối
-Để viết được chữ "Tổng:" vào file excel với VBA cần sử dụng hàm hỗ trợ Unicode hoặc lưu chữ "Tổng:" vào một bảng nào đó như trong các chủ đề về hiển thị thông báo bằng Tiếng Việt
Ở đây mình vẽ một label trên form với nhãn (Caption) là "Tổng:" rồi gán thuộc tính visible = false sau đó dùng một biến làm "xe" rước hắn vào file excel
Đây là yêu cầu của bạn mình đưa lên đây để mọi người cùng tham khảo: Download
Có nhiều cách để làm được như file Vidu, mình đưa ra hai cách bạn xem thử nhé
DemoXuatExcel3.rar
Code1 (Click to View)Thực ra mình cảm thấy hai cách trên cũng chưa thực sự tối ưuCode2 (Click to View)
Về VBA trong Excel nội công mình cũng kém lắm, bạn nào có cách hay hơn thì góp ý nha
P/s: mình vừa sửa code (bổ sung thêm chút xíu) và đã up lại link, thời điểm sửa bài cập nhật phía trên bài viết. -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 26-03-14, 08:19 AM
Nhờ câu hỏi của bạn, tối qua "bế quan luyện công" Excel, lên được đến tầng thứ... 2
Code của hai cách trên mình rút gọn được như sau:
(Có ghi chú cho các câu lệnh để các bạn có thể tham khảo và tùy biến)
Code1: Rút gọn từ 2 vòng lặp xuống còn 1 (Click to View)DemoCode2: Rút gọn từ 3 vòng lặp xuống còn 1 (Click to View)
Khi nào mình luyện tới tầng thứ 9 hay "Như lai thần chưởng" thì cho nó một phát dẹp lép còn lại vài dòng thui -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 26-03-14, 09:27 AM
Rất hay. Coi như đã đạt được 98% yêu cầu của mình rồi (Code1 là chuẩn rồi đó), còn một vấn đề này nữa mong bạn bổ sung : Khi chuyển sang Excel có cột Ngày tháng (Cột F trên Excel) => Mình muốn cột này được định dạng kiểu ngày tháng năm là "d/m/yyyy"
Chỉ như vậy nữa là đạt 100% yêu cầu của mình rồi.
Cám ơn bạn. -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 26-03-14, 10:38 AM
Các bạn cho mình hỏi : Trong thư viện của access thiếu "Microsoft Excel 11.0 Object Library" thì phải làm sao ? -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 26-03-14, 10:51 AM
Đã hoàn thành và đạt yêu cầu 100% rồi.
Cám ơn tất cả các bạn, đặc biệt là bạn MatTroiNguQuen. -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 26-03-14, 11:21 AM
Đưa vào ứng dụng mới phát sinh thêm, nhờ bạn sửa lại một chút như sau : Khi chuyển sang Excel có cột MS thuế (Cột H trên Excel) => Mình muốn cột này được định dạng kiểu "Text"
Cám ơn bạn.
Bạn thêm code vào chỗ nào vui long tô chữ màu đỏ nhé, rối lắm không mò được. -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
MTNQ > 26-03-14, 12:55 PM
1-Định dạng cột F theo "d/m/yyyy":
wb.Worksheets(1).Columns(6).NumberFormat = "d/M/yyyy"
2-Định dạng cột H kiểu text:
wb.Worksheets(1).Columns(8).NumberFormat = "@"
Với wb là biến đối tượng Workbook đã khai báo như trong Demo của mình
Bạn thêm vào phía trên dòng code: End With
Mã:With wb.Worksheets(1)
.......
Next i
.Rows("1:16").Insert Shift:=xlDown 'Chèn vào 16 dòng tren dau trang
.Columns.EntireColumn.AutoFit 'Tu dong chinh chieu rong cac cot
.Columns.EntireRow.AutoFit 'Tu dong chinh chieu cao cac dong
.Columns(6).NumberFormat = "d/M/yyyy" 'Dinh dang cot F kieu "d/M/yyyy"
.Columns(8).NumberFormat = "@" 'Dinh dang cot H kieu Text
End With -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
DoquangLam > 26-03-14, 02:53 PM
Cám ơn ! Chuẩn không cần chỉnh. -
RE: Nhờ giúp đỡ code chuyển Reports sang Excel
trying58 > 01-08-20, 10:43 PM
(26-03-14, 12:55 PM)MTNQ Đã viết: 1-Định dạng cột F theo "d/m/yyyy":
bác ơi, mình có 2 report bên access cũng muốn xuất ra access nhưng áp dụng cách của bác ko đc, report của mình phân chia cột khác so với report của bác làm. bác có thể xem giúp mình với đc ko ạ
wb.Worksheets(1).Columns(6).NumberFormat = "d/M/yyyy"
2-Định dạng cột H kiểu text:
wb.Worksheets(1).Columns(8).NumberFormat = "@"
Với wb là biến đối tượng Workbook đã khai báo như trong Demo của mình
Bạn thêm vào phía trên dòng code: End With
Mã:With wb.Worksheets(1)
.......
Next i
.Rows("1:16").Insert Shift:=xlDown 'Chèn vào 16 dòng tren dau trang
.Columns.EntireColumn.AutoFit 'Tu dong chinh chieu rong cac cot
.Columns.EntireRow.AutoFit 'Tu dong chinh chieu cao cac dong
.Columns(6).NumberFormat = "d/M/yyyy" 'Dinh dang cot F kieu "d/M/yyyy"
.Columns(8).NumberFormat = "@" 'Dinh dang cot H kieu Text
End With