VicoTas
Câu hỏi
avatar l3atu0c
28/05/2013 07:43

Xin hướng dẫn cách lấy dữ liệu nhập ở các file Excel khác?

Xin hướng dẫn cách lấy dữ liệu nhập ở các file Excel khác và tự động update vào 1 file chính, việc update thực hiện qua mạng LAN hoặc copy thuần túy các file dữ liệu của các cá nhân nhập liệu khác lên một thư mục nào đó.

Danh sách câu trả lời (1)
avatar dunguyen 28/05/2013 07:43
Nếu bạn cho phép nhập dữ liệu bởi nhiều người trên nhiều file Excel riêng biệt và muốn tổng hợp dữ liệu nhập thành 1 file Excel duy nhất, bạn có thể viết ứng dụng thực hiện việc tổng hợp dữ liệu theo yêu cầu. Mỗi khi cần tổng hợp, bạn chỉ cần kích hoạt ứng dụng tương ứng.

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.
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Câu hỏi khác
Đức Cảnh Hỏi về bảng tính Excel?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Cách tách họ tên trong Microsoft Excel?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Máy tính không hiển thị được hình được dán (paste) trong e-mail?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Có cách nào để thiết lập hàm tự động tìm thông số "lookup_value"?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Boot qua cổng USB

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Cho em biết vài từ điển trực tuyến để học tiếng Anh được không?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Có phải IE7 nạp các trang web chậm hơn đáng kể so với IE6 hay Firefox?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Cách tìm lại lệnh "Run" ở Start Menu trong Windows XP?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

Đức Vân Chất lượng và bảo hành của laptop lenovo Y410-43A

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

MrTien Xin chỉ cho mình cách gửi một bản Fax từ máy tính cài Windows?

Đăng lúc: 07:43 - 28/05/2013 trong Câu hỏi khác

nophoto Tạo ổ đĩa ảo bằng Virtual Driver Manager

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Thao tác trong word

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Cách diệt vi rút ok.exe

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

Mạnh Linh Tạm dừng in khi vừa mới bắt đầu in?

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Có cách nào tự logout khi đóng trình duyệt?

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto USB bị lỗi?

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Hỏi về con chip đo nhiệt độ các thành phần trong máy tính?

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Laptop tại sao mắc hơn nhiều so với desktop?

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Windows XP bị lỗi font

Đăng lúc: 07:42 - 28/05/2013 trong Câu hỏi khác

nophoto Tháo gỡ site mặc định trên IE

Đăng lúc: 21:20 - 23/06/2013 trong Câu hỏi khác

Rao vặt Siêu Vip