ngocbinh.no.kia
Thành viên mới

- Tham gia
- 25/1/11
- Bài viết
- 44
- Được thích
- 4
Sub AccImport()
Dim Sh As Worksheet, C&, R&, Adrs$, CName$
Dim WbD As Workbook
Dim acc As New Access.Application
Application.ScreenUpdating = False
acc.OpenCurrentDatabase "D:\TestGPE\DataTN1.accdb" 'Thay duong dan va ten
Set WbD = Workbooks.Open("D:\TestGPE\DuLieu.xlsx") ''Thay duong dan va ten
For Each Sh In WbD.Worksheets
C = Sh.Range("XFD1").End(xlToLeft).Column
CName = Mid(Cells(1, C).Address, 2, InStrRev(Cells(1, C).Address, "$") - 2)
R = Sh.Range("A" & Rows.Count).End(xlUp).Row
Adrs = Sh.Name & "$A1:" & CName & R
acc.DoCmd.TransferSpreadsheet _
TransferType:=acImport, _
SpreadSheetType:=acSpreadsheetTypeExcel12Xml, _
TableName:=Sh.Name, _
Filename:=WbD.FullName, _
HasFieldNames:=True, _
Range:=Adrs
Next
WbD.Close False
Set WbD = Nothing
acc.CloseCurrentDatabase
acc.Quit
Set acc = Nothing
Application.ScreenUpdating = True
End Sub
Cái này không cần đến, chủ yếu là cập nhật, sửa, xoá dữ liệu trong bảng thì hữu dụng hơn, dù sao cũng cảm ơn bạn đã quan tâmTôi gửi bạn code lấy chép tất cả các sheet của 1 file đang đóng sang Access, mỗi sheet thành 1 table Access.
Dữ liệu file Excel bắt đầu từ cột A, dòng 1 là tiêu đề.
Rich (BB code):Sub AccImport() Dim Sh As Worksheet, C&, R&, Adrs$, CName$ Dim WbD As Workbook Dim acc As New Access.Application Application.ScreenUpdating = False acc.OpenCurrentDatabase "D:\TestGPE\DataTN1.accdb" 'Thay duong dan va ten Set WbD = Workbooks.Open("D:\TestGPE\DuLieu.xlsx") ''Thay duong dan va ten For Each Sh In WbD.Worksheets C = Sh.Range("XFD1").End(xlToLeft).Column CName = Mid(Cells(1, C).Address, 2, InStrRev(Cells(1, C).Address, "$") - 2) R = Sh.Range("A" & Rows.Count).End(xlUp).Row Adrs = Sh.Name & "$A1:" & CName & R acc.DoCmd.TransferSpreadsheet _ TransferType:=acImport, _ SpreadSheetType:=acSpreadsheetTypeExcel12Xml, _ TableName:=Sh.Name, _ Filename:=WbD.FullName, _ HasFieldNames:=True, _ Range:=Adrs Next WbD.Close False Set WbD = Nothing acc.CloseCurrentDatabase acc.Quit Set acc = Nothing Application.ScreenUpdating = True End Sub
Ờ, không cần sao ta? Nếu ai đó giúp code tổng hợp Excel rồi thì làm sao cho vào Access?Cái này không cần đến, chủ yếu là cập nhật, sửa, xoá dữ liệu trong bảng thì hữu dụng hơn, dù sao cũng cảm ơn bạn đã quan tâm
Ồ ha; cứ lưu lại rồi sẽ cần; Bác cho hỏi thêm xem ưu điểm của Phương pháp (đoạn code) đó là gì; chạy thử thấy cũng hay hayỜ, không cần sao ta? Nếu ai đó giúp code tổng hợp Excel rồi thì làm sao cho vào Access?
Chỉ định sheet cụ thể nào đó thì bỏ vòng lặp đi, ghi rõ sheet name. Dữ liệu hầm bà lằng thì lỗi thôi.Ồ ha; cứ lưu lại rồi sẽ cần; Bác cho hỏi thêm xem ưu điểm của Phương pháp (đoạn code) đó là gì; chạy thử thấy cũng hay hay
Bài đã được tự động gộp:
Có chỉ định lấy sheet cụ thể nào sang được không; vì hình như quét tất cả sheet thì sẽ bị lỗi.