Liên kết name từ workbook khác

Liên hệ QC

nhopt

Thành viên mới
Tham gia
10/5/08
Bài viết
38
Được thích
11
Chào các bác
Em muốn liên kết dữ liệu từ một name đã định nghĩa từ một workbook khác

Các bác xem yêu cầu tại "file đích" đính kèm để biết rõ hơn nhé

Cám ơn các bác nhiều!
 

File đính kèm

  • File dich.xls
    13.5 KB · Đọc: 39
  • File nguon.xls
    13.5 KB · Đọc: 32
Cái này chắc không làm được bạn ơi.

Sao bạn không cho vào cùng 1 workbook thì OK ngay.
 
Em cũng rất muốn thế nhưng Vì không muốn phá vỡ tổ chức dữ liệu tại file nguồn (tất cả các sheet đều được định dạng giống nhau)
Hơn nữa dữ liệu trong file nguồn được in khổ A3, trong khi dữ liệu file đích được in khổ A4. Nếu đưa vào cùng 1 bảng thì sẽ phải in như thế nào (chưa kể ảnh hưởng tới các định dạng tại dữ liệu nguồn)?

http://www.giaiphapexcel.com/forum/showthread.php?t=2787

Ở link trên đây cũng có hướng dẫn về liên kết động trong Excel (bao gồm cả liên kết name tại các workbook khác) nhưng em đọc không hiểu lắm
Bác nào có link, tài liệu nào hướng dẫn reply giúp em nhé

Cám ơn các bác nhiều!
 
Lần chỉnh sửa cuối:
Dear nhopt,
------------
Cám ơn bạn vì cuối cùng thì cũng có người hiểu ý đồ của mình trong chủ đề này (Liên kết động trong Exce). Mình gửi lên đây một minh hoạ nhỏ theo thắc mắc của bạn để bạn tham khảo nhé.

Ngoài những gì mình đã đề cập trong chủ đề Liên kết động trong Exce, để áp dụng thành công, bạn cũng lưu ý thêm một số vấn đề sau:

- Đặt tên file nguồn phải không có dấu cách (space), tốt nhất là đặt không dấu (theo đúng quy tắc đặt tên Name trong Define Name. Ví dụ "File nguon.xls" phải sửa thành "FileNguon.xls" hoặc "File_Nguon.xls" hoặc tốt nhất là đặt tường minh rõ nghĩa, ví dụ: "KHACHHANG.xls", "DANHMUC.xls"...

- Các Refer to của Name được định nghĩa trong file nguồn phải không dùng công thức (như file nguồn của bạn, các name này sử dụng hàm OFFSET là không được). Bởi vì đối số của hàm INDIRECT chỉ nhận giá trị là một dữ liệu kiểu String (Text) - hay còn gọi là kiểu chuỗi.

Bạn tham khảo file minh hoạ đính kèm bên dưới. Bạn sẽ rút ra nhận xét là Link Manager (trong Edit Links) sẽ không quản lý liên kết dạng này (sẽ khoẻ cho bạn, bạn sẽ không bị "giựt cái mình" mỗi khi nhìn thấy hộp thoại cảnh báo Update links, nhưng ngược lại bạn sẽ nhìn thấy... lỗi #REF! nếu như file nguồn chưa mở!).

Từ mô hình liên kết này, mình gợi ý bạn khi xây dựng một ứng dụng trên Excel - nhất là ứng dụng kế toán, hãy "cắt" các bảng dữ liệu lưu trữ thành một book riêng, anh nào làm nhiệm vụ của anh đó (Danh mục để lưu trữ các bảng danh sách, Nhật ký để lưu trữ số liệu phát sinh hàng ngày, Báo cáo chỉ lưu mẫu báo cáo (nên để dạng Template File), mỗi khi xem sẽ lấy dữ liệu từ Nhật ký đổ qua!).

Ứng dụng cách tham chiếu này, bạn có thể chia dữ liệu theo nhiều kỳ trên mỗi Workbook khác nhau (chú ý cách đặt tên book theo mỗi kỳ để thuận tiện việc ghép tham số kỳ trong tham chiếu động)

Chúc bạn thành công!
 

File đính kèm

  • NHAPLIEU.zip
    14.2 KB · Đọc: 83
Lần chỉnh sửa cuối:
Ah, em muốn hỏi thêm 1 vấn đề nữa
Như vậy là, muốn sử dụng file đích thì phải bật file nguồn
Vậy có bác nào làm ơn cho em xin đoạn code mà mở file đích lên thì nó tự động mở file nguồn luôn với
 
Dear nhopt,
-----------
Có rất nhiều cách để làm việc này, tuy nhiên bạn hãy từ từ đã, bởi vì "luôn luôn mở file nguồn" đôi khi lại là phiền toái cho bạn. Ban đầu bạn chịu khó mở "bằng tay" đi, bởi việc mở này không quan trọng bằng việc bạn rút ra được kinh nghiệm cái gì cần mở trước, cái gì nên mở sau, cái gì mở ra mà ... không nhìn thấy!%#^#$

Bạn nên so sánh giữa việc tách file như vậy có thuận lợi gì và khó khăn gì hơn so với để chúng chung một Workbook (hình như là bạn đang có ý định gộp chung vào một Workbook rồi đấy!). Khi hiểu tác dụng rồi thì việc xây dựng các xử lý không mất nhiều thời gian và không phải sửa đi, viết lại!

Chúc bạn và mọi người Tuần Nghỉ Lễ vui vẻ!
 
Nghe đồn rằng Excel 2000 trở về trứoc cho phép List của Validation nằm ở 1 Workbook khác, không biết điều này là sự thật không? (tôi không có điều kiện thử nghiệm nên cũng không biết thực hư thế nào)
 
Web KT
Back
Top Bottom