Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Xuất dữ liệu ra excel
#1
Mình có vấn đề muốn xuất dữ liệu từ Table sang Excel, với một số điều kiện sau. Rất mong các bạn giúp đỡ và cho ý kiến nhé.

Trong file đính kèm có Table tên là T-BKHDBan, mình muốn chuyển bảng này sang Excel như sau :
- Cột STT trong bảng khi chuyển sang Excel được nằm ở cột A
- Trong cột STT có dữ liệu là B1, B2, B3, B4, B5 (Số liệu ở các cột khác tương ứng với các B... này, Có B... có số liệu, có B... không có số liệu) Mình muốn khi chuyển sang Excel thì
+ B1 được nằm ngay vị trí ô A17 trên Excle
+ Các cột còn lại trong Table chuyển sang Excel bắt đầu từ cột C trở đi.
+ Khi chuyển sang cứ mỗi chỉ tiêu B (B1, B2... ) ở cuối chỉ tiêu đó chèn thêm cho 1 dòng trống và điền vào ô trên dòng trống đó ở cột B chữ Tổng.

Nếu được như mẫu Excel đính kèm thì OK.

Trước mắt như vậy đã. Mong các bạn hỗ trợ. Rất cám ơn !


http://www.mediafire.com/download.php?5r4ds8cl4m6y7k5
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#2
Mong các bạn giúp mình với,mình đang cần gấp. Cám ơn
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#3
(05-08-12, 04:24 PM)DoquangLam Đã viết: Mình có vấn đề muốn xuất dữ liệu từ Table sang Excel, với một số điều kiện sau. Rất mong các bạn giúp đỡ và cho ý kiến nhé.

Trong file đính kèm có Table tên là T-BKHDBan, mình muốn chuyển bảng này sang Excel như sau :
- Cột STT trong bảng khi chuyển sang Excel được nằm ở cột A
- Trong cột STT có dữ liệu là B1, B2, B3, B4, B5 (Số liệu ở các cột khác tương ứng với các B... này, Có B... có số liệu, có B... không có số liệu) Mình muốn khi chuyển sang Excel thì
+ B1 được nằm ngay vị trí ô A17 trên Excle
+ Các cột còn lại trong Table chuyển sang Excel bắt đầu từ cột C trở đi.
+ Khi chuyển sang cứ mỗi chỉ tiêu B (B1, B2... ) ở cuối chỉ tiêu đó chèn thêm cho 1 dòng trống và điền vào ô trên dòng trống đó ở cột B chữ Tổng.

Nếu được như mẫu Excel đính kèm thì OK.

Trước mắt như vậy đã. Mong các bạn hỗ trợ. Rất cám ơn !


http://www.mediafire.com/download.php?5r4ds8cl4m6y7k5

http://thuthuataccess.com/forum/thread-5233.html
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#4
Cám ơn bạn Xuân Thanh đã quan tâm.
Mình đã làm theo
http://thuthuataccess.com/forum/thread-5233.html của bạn cho, nhưng chưa đạt yêu cầu, chỉ mới đạt được các nội dung :

- Cột STT trong bảng khi chuyển sang Excel được nằm ở cột A
- Trong cột STT có dữ liệu là B1, B2, B3, B4, B5 (Số liệu ở các cột khác tương ứng với các B... này, Có B... có số liệu, có B... không có số liệu) Mình muốn khi chuyển sang Excel thì
+ B1 được nằm ngay vị trí ô A17 trên Excle
+ Các cột còn lại trong Table chuyển sang Excel bắt đầu từ cột C trở đi.


Nội dung quan trọng là :
+ Khi chuyển sang cứ mỗi chỉ tiêu B (B1, B2... ) ở cuối chỉ tiêu đó chèn thêm cho 1 dòng trống và điền vào ô trên dòng trống đó ở cột B chữ Tổng thì chưa được.

Rất mong các bạn tiếp tục quan tâm tiếp. Cám ơn.

Cám ơn bạn Xuân Thanh đã quan tâm.
Mình đã làm theo
http://thuthuataccess.com/forum/thread-5233.html của bạn cho, nhưng chưa đạt yêu cầu, chỉ mới đạt được các nội dung :

- Cột STT trong bảng khi chuyển sang Excel được nằm ở cột A
- Trong cột STT có dữ liệu là B1, B2, B3, B4, B5 (Số liệu ở các cột khác tương ứng với các B... này, Có B... có số liệu, có B... không có số liệu) Mình muốn khi chuyển sang Excel thì
+ B1 được nằm ngay vị trí ô A17 trên Excle
+ Các cột còn lại trong Table chuyển sang Excel bắt đầu từ cột C trở đi.

Nội dung quan trọng là :
+ Khi chuyển sang cứ mỗi chỉ tiêu B (B1, B2... ) ở cuối chỉ tiêu đó chèn thêm cho 1 dòng trống và điền vào ô trên dòng trống đó ở cột B chữ Tổng thì chưa được.

Rất mong các bạn tiếp tục quan tâm tiếp. Cám ơn.

Đây là file của mình :

http://www.mediafire.com/?hk0gkn4vpgdrndl
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#5
1/ Thêm một table để hiển thị tên tươngb ứng với các B
2/ Trong hàm muốn xuất ra excel từ ô nào thì thay Cll bằng ô đó(trong trường hợp này là A17)
3/ Sau khi xuất xong, mở file Ex và làm thủ công để chèn thêm dòng tổng cộng
4/ Nếu muốn VBA thì phải viết thêm lệnh cho nó
Thân mến
Chữ ký của Xuân Thanh Trăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
On Error GoTo Err_ChuyenSangExcel_Click

Dim xlApp As Excel.Application
Dim wb As Workbook
Dim Tong As String, strPath As String
Dim i As Long, j As Long, n As Long
Dim FinalRow As Long
Dim B_i

strPath = "D:\KeToan\Excel\BKMua.xls"

DoCmd.RunMacro "BKMua_Excel"
Tong = Forms![F-BKHDMua_XemBK]!lblTong.Caption
Set xlApp = New Excel.Application
Set wb = xlApp.Workbooks.Open(strPath)

With wb.Worksheets(1)
.Select
'§Õm sè dßng cã d÷ liÖu trong cét B
n = .Columns("B:B").SpecialCells(xlCellTypeConstants).Count
'§Õm sè dßng cã trong c¸c Group
FinalRow = .UsedRange.Row + .UsedRange.Rows.Count - 1
'Thªm ch÷ "Tæng" vµo dßng cuèi cïng
.Cells(FinalRow + 1, 2).Value = Tong

j = 1

For i = 3 To FinalRow + n
B_i = .Cells(i, 2).Value

If .Cells(i, 3).Value <> "" Then 'NÕu dßng thø i trong cét C cã d÷ liÖu th×:
.Cells(i, 2).Value = j '§¸nh sè thø tù vµo cét B
BValue = ""
Else
If B_i <> BValue And B_i <> "" And B_i <> Tong Then
.Rows(i).EntireRow.Insert Shift:=ilDown 'ChÌn thªm dßng
.Cells(i, 2).Value = Tong 'Thªm ch÷ "Tæng" vµo dßng võa chÌn
BValue = B_i
End If
j = 0
End If
j = j + 1
Next i
.Rows("1:15").Insert Shift:=xlDown 'ChÌn vµo 15 dßng trªn ®Çu trang
.Columns.EntireColumn.AutoFit 'Tù ®éng ®iÒu chØnh chiÒu réng c¸c cét
.Columns.EntireRow.AutoFit 'Tù ®éng ®iÒu chØnh chiÒu cao c¸c dßng
.Columns(3).NumberFormat = "@" '§Þnh d¹ng cét C kiÓu Text
.Columns(4).NumberFormat = "d/M/yyyy" '§Þnh d¹ng cét D kiÓu "d/M/yyyy"
.Columns(6).NumberFormat = "@" '§Þnh d¹ng cét F kiÓuText

End With

xlApp.Visible = True 'HiÖn file excel lªn
xlApp.Visible = True 'HiÖn file excel lªn

Set wb = Nothing 'Hñy biÕn ®èi tîng vµ gi¶i phãng bé nhí
Set xlApp = Nothing

Exit_ChuyenSangExcel_Click:
Exit Sub

Err_ChuyenSangExcel_Click:

If Not xlApp Is Nothing Then
xlApp.Quit
Set xlApp = Nothing
End If
MsgBox Err.Description
Resume Exit_ChuyenSangExcel_Click

---------------
Chào các bạn !
Cho mình hỏi đoạn code trên dùng để chuyển sang Excel, mình vướng 1 vấn đề đó là câu lệnh dưới đây khi chuyển sang Excel vẫn không giữ được như bên access

.Columns(3).NumberFormat = "@"

Cụ thể trên Report có cột định dạng kiểu Texl nhưng khi chuyển sang Excel thì lại không giữ nguyên được như vậy. Ví dụ như 000123 khi chuyển sang Excel nó lại thành 123. Mình muốn khi chuyển sang Excel thì nó vẫn giữ nguyên là 000123
Rất cám ơn các bạn.
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#7
Có bạn nào giúp mình với. Cám ơn
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#8
Có cao thủ nào giúp mình với...
Chữ ký của DoquangLam Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#9
(27-09-14, 08:02 PM)DoquangLam Đã viết: Chào các bạn !
Cho mình hỏi đoạn code trên dùng để chuyển sang Excel, mình vướng 1 vấn đề đó là câu lệnh dưới đây khi chuyển sang Excel vẫn không giữ được như bên access

.Columns(3).NumberFormat = "@"

Cụ thể trên Report có cột định dạng kiểu Texl nhưng khi chuyển sang Excel thì lại không giữ nguyên được như vậy. Ví dụ như 000123 khi chuyển sang Excel nó lại thành 123. Mình muốn khi chuyển sang Excel thì nó vẫn giữ nguyên là 000123
Rất cám ơn các bạn.
Đoạn code trên do mình viết trong chủ đề về xuất Report ra Excel, vì lúc đó bạn yêu cầu định dạng kiểu text, còn nếu theo kiểu như 000123 thì đơn giản là sửa "@" thành "000000" 015
Mã:
.Columns(3).NumberFormat = "000000"

-Có một vấn đề mà mấy lần mình muốn góp ý thêm nhưng bận quá lại quên, đó là không nên đặt tên các đối tượng bằng Tiếng Việt (TV) có dấu vì các phiên bản AC và VBA hiện tại vẫn chưa hỗ trợ tốt vấn đề này. (VD Report "R_BKHDBan_Excel" bạn đặt tên các control bằng TV như [Mã số thuế],[Mặt hàng],[Doanh số],...)
Việc đặt tên các đối tượng có dấu làm ứng dụng phát sinh các lỗi không xác định, có khi rất vô duyên như không chạy được các hàm rất cơ bản (Date, Time,...) làm bạn mất cả ngày, thậm chí cả tháng cũng chưa mò ra lỗi do đâu 014

-Vậy câu hỏi sẽ là "Làm sao xuất ra Excel để tiêu đề các cột là TV có dấu?"
Cách của mình thường sử dụng cho vấn đề này là dùng một bảng (VD: tblTiengViet) để lưu các từ TV sau đó chèn vào những nơi cần sử dụng (VD như các thông báo MsgBox hay trường hợp này là file Excel)

Bạn tham khảo file ví dụ sau:

Demo XuatReportSangExcel.rar

Chữ ký của MatTroiNguQuen Thời gian nước chảy... da mòn
Ngủ quên một chốc thấy còn bộ xương!
Reply
Những người đã cảm ơn DoquangLam , thanhthienhg


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Help] Chuyển Table từ Excel qua Access cudnav 3 152 06-06-15, 03:06 PM
Bài mới nhất: thucgia
  Hướng Dẫn Demo tổng hợp xuất Table, Query sang Excel có điều kiện ở vị trí nào cũng được maidinhdan 9 589 25-03-15, 10:37 PM
Bài mới nhất: maidinhdan
  [Help] Xuất dữ liệu từ Word sang table Access ? phamngocsang 3 157 25-03-15, 09:34 PM
Bài mới nhất: maidinhdan
  Trả lời câu hỏi bạn dinhnhieu: Export Query sang Excel có điều kiện maidinhdan 1 187 11-02-15, 04:17 PM
Bài mới nhất: maidinhdan
  Export dữ liệu ra excel Noname 37 14,291 23-01-15, 02:56 PM
Bài mới nhất: chuvoicon

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)