Liên kết các sheet với các file excel khác nhau (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

erdragon

Thành viên mới
Tham gia
13/10/10
Bài viết
13
Được thích
0
Chào các bác, mình có vấn đề về cách liên kết dữ liệu cần các bác chỉ giáo.

Mình có file excel A có sheet A, dữ liệu sheet A sẽ bằng dữ liệu sheet B của file excel B. Các bác có cách nào để khi mình cập nhật file excel B (có sheet B) bằng 1 file excel khác (cũng có sheet B luôn) bằng cách chép file excel B mới đè lên file excel B cũ, thì dữ liệu sheet A của file excel A sẽ thay đổi y chang như sheet B của file excel B mới không các bác.

Mong các bác chỉ giáo cách giải quyết giúp mình.}}}}}

P/S: Mình xài excel 2007.
 
Bạn có thể viết ứng dụng bằng bất kỳ ngôn ngữ của Microsoft nào (VC++, VB, VB .Net, VC#..) và dùng đối tượng "Excel Automation Server" để truy xuất nội dung các file Excel.

Thí dụ sau đây là qui trình xây dựng 1 ứng dụng VB 6.0 đơn giản demo việc copy 1 vùng dữ liệu nằm trong các cell từ A1:H100 trên worksheet có tên là SourceSheet nằm trên file Excel "c:\user1Data.xls" vào vùng cell từ a101:H200 trên worksheet có tên là DestSheet nằm trên file Excel "c:\user2Data.xls":

1. Chạy VB 6.0, tạo Project mới thuộc loại "Standard EXE" (loại Project mặc định có 1 Form giao diện rỗng ban đầu).
2. Chọn menu Project.References để hiển thị cửa sổ Refrerences. Duyệt tìm và chọn mục "Microsoft Excel x.y Object Library" để "add" các đối tượng truy xuất file Excel vào Project. Lưu ý x.y là chỉ số version của thư viện các đối tượng Excel được cài trên máy bạn.
3. Tạo 1 button trên Form có tên mặc định là Command1.
4. Nhấn đúp chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột trên button rồi viết đoạn code thực hiện copy dữ liệu từ file Excel này sang file khác như sau:
Option Explicit
'thủ tục xử lý sự kiện click chuột trên button
Private Sub Command1_Click()
'khai báo các biến cần dùng
Dim oXL As Excel.Application
Dim oWB As Excel.Workbooks
Dim oSheet1 As Excel.Worksheet
Dim oSheet2 As Excel.Worksheet
'khởi động Excel và nhận đối tượng Application.
Set oXL = CreateObject("Excel.Application")
'xác định đối tượng quản lý các file Excel.
Set oWB = oXL.Workbooks
'mở file "c:\user1Data.xls" chứa kết quả
oWB.Add "c:\user1Data.xls"
'mở file "c:\user2Data.xls" chứa dữ liệu cần copy
oWB.Add "c:\user2Data.xls"
'thiết lập biến các worksheet cần truy xuất
Set oSheet1 = oWB.Item(1).Worksheets("DestSheet")
Set oSheet2 = oWB.Item(2).Worksheets("SourceSheet")
'copy nội dung từ SourceSheet sang DestSheet
oSheet1.Range("A101:H200").Value = oSheet2.Range("A1:H100").Value
oWB.Item(1).SaveAs "c:\ketqua.xls"
'đóng các đối tượng workbook (file xls)
oWB.Item(2).Close
oWB.Item(1).Close
'đóng ứng dụng Excel
oXL.Quit
End Sub
5. Chọn menu Run.Start để chạy thử ứng dụng xem nó hoàn thành nhiệm vụ qui định không.



Nguồn PC World
 
Bạn có thể viết ứng dụng bằng bất kỳ ngôn ngữ của Microsoft nào (VC++, VB, VB .Net, VC#..) và dùng đối tượng "Excel Automation Server" để truy xuất nội dung các file Excel.

Thí dụ sau đây là qui trình xây dựng 1 ứng dụng VB 6.0 đơn giản demo việc copy 1 vùng dữ liệu nằm trong các cell từ A1:H100 trên worksheet có tên là SourceSheet nằm trên file Excel "c:\user1Data.xls" vào vùng cell từ a101:H200 trên worksheet có tên là DestSheet nằm trên file Excel "c:\user2Data.xls":

1. Chạy VB 6.0, tạo Project mới thuộc loại "Standard EXE" (loại Project mặc định có 1 Form giao diện rỗng ban đầu).
2. Chọn menu Project.References để hiển thị cửa sổ Refrerences. Duyệt tìm và chọn mục "Microsoft Excel x.y Object Library" để "add" các đối tượng truy xuất file Excel vào Project. Lưu ý x.y là chỉ số version của thư viện các đối tượng Excel được cài trên máy bạn.
3. Tạo 1 button trên Form có tên mặc định là Command1.
4. Nhấn đúp chuột vào button vừa tạo để tạo thủ tục xử lý sự kiện click chuột trên button rồi viết đoạn code thực hiện copy dữ liệu từ file Excel này sang file khác như sau:
Option Explicit
'thủ tục xử lý sự kiện click chuột trên button
Private Sub Command1_Click()
'khai báo các biến cần dùng
Dim oXL As Excel.Application
Dim oWB As Excel.Workbooks
Dim oSheet1 As Excel.Worksheet
Dim oSheet2 As Excel.Worksheet
'khởi động Excel và nhận đối tượng Application.
Set oXL = CreateObject("Excel.Application")
'xác định đối tượng quản lý các file Excel.
Set oWB = oXL.Workbooks
'mở file "c:\user1Data.xls" chứa kết quả
oWB.Add "c:\user1Data.xls"
'mở file "c:\user2Data.xls" chứa dữ liệu cần copy
oWB.Add "c:\user2Data.xls"
'thiết lập biến các worksheet cần truy xuất
Set oSheet1 = oWB.Item(1).Worksheets("DestSheet")
Set oSheet2 = oWB.Item(2).Worksheets("SourceSheet")
'copy nội dung từ SourceSheet sang DestSheet
oSheet1.Range("A101:H200").Value = oSheet2.Range("A1:H100").Value
oWB.Item(1).SaveAs "c:\ketqua.xls"
'đóng các đối tượng workbook (file xls)
oWB.Item(2).Close
oWB.Item(1).Close
'đóng ứng dụng Excel
oXL.Quit
End Sub
5. Chọn menu Run.Start để chạy thử ứng dụng xem nó hoàn thành nhiệm vụ qui định không.



Nguồn PC World

Thanks bạn nhiều lắm !!!

Nhưng có cách nào đơn giản hoặc dễ hiểu, dễ làm hơn không bạn, mình không có kiến thức gì về lập trình bằng VB 6.0 cả --)(
 
Web KT

Bài viết mới nhất

Back
Top Bottom