Beth tự hỏi liệu có cách nào để cô ấy có thể xác định xem có các sổ làm việc khác phụ thuộc vào sổ làm việc mà cô ấy đã mở hay không. Cô ấy biết cách tìm các liên kết trước đến sổ làm việc đang mở của mình nhưng không phải các liên kết phụ thuộc.

Beth đang có một công việc mới và cô ấy không muốn mạo hiểm chỉnh sửa sổ làm việc mà không biết những tệp khác mà cô ấy có thể đang ảnh hưởng.

Nếu bạn có sổ làm việc A và sổ làm việc B và sổ làm việc B bao gồm một liên kết đến sổ làm việc A, thì sổ làm việc B phụ thuộc vào sổ làm việc A và sổ làm việc A là tiền lệ của sổ làm việc B.

Trong sổ làm việc B, bạn có thể dễ dàng tìm ra các liên kết được sử dụng trong sổ làm việc; bạn sẽ biết rằng sổ làm việc A là tiền lệ của sổ làm việc B. Như Beth đã nói, cô ấy biết cách tìm ra thông tin này.

Trong sổ làm việc A không có cách nào để xác định rằng sổ làm việc B có liên kết đến sổ làm việc A và do đó phụ thuộc vào sổ làm việc A. Do đó, có thể thực hiện các thay đổi đối với sổ làm việc A có thể vô tình ảnh hưởng đến sổ làm việc B. Ví dụ, bạn có thể thay đổi phạm vi đã đặt tên hoặc đổi tên trang tính hoặc xóa thông tin bạn cho rằng không cần thiết nữa. Lần tiếp theo khi bạn mở sổ làm việc B, bạn sẽ ngạc nhiên vì thông tin phụ thuộc vào sổ làm việc A không còn nữa.

Một số thay đổi bạn thực hiện trong sổ làm việc A có thể không ảnh hưởng đến sổ làm việc B. Ví dụ: bạn có thể thêm trang tính, thêm phạm vi đã đặt tên và có thể chèn cột hoặc hàng. Trong tất cả các trường hợp này, Excel có thể tự nhiên điều chỉnh các thay đổi mà không ảnh hưởng đến sổ làm việc B. Vấn đề là, bạn sẽ không biết liệu có ảnh hưởng tiêu cực nào cho đến khi bạn mở sổ làm việc B. Và bạn thậm chí sẽ không biết mở sổ làm việc B trừ khi bạn biết trước rằng có mối quan hệ giữa hai sổ làm việc.

Một cách giải quyết vấn đề là mở tất cả các sổ làm việc mà bạn có thể nghĩ đến, sau đó sử dụng các công cụ kiểm tra trong Excel để kiểm tra các phần phụ thuộc. Điều này có thể hoạt động tốt nếu bạn có một số lượng rất hạn chế sổ làm việc trên hệ thống của mình. Nó không hoạt động tuyệt vời nếu bạn có nhiều sổ làm việc hoặc nếu các sổ làm việc nằm trên mạng.

Nếu bạn có các sổ làm việc của mình ở một vị trí đã định trên hệ thống cục bộ của mình (tất cả trong một thư mục duy nhất), thì bạn có thể thử sử dụng macro để xác định các phần phụ thuộc. Các bước sau đây thông qua tất cả các sổ làm việc Excel trong một thư mục nhất định và xác định các sổ làm việc được liên kết với sổ làm việc hiện đang mở của bạn bằng các công thức.

Sub DiscoverDependentFiles()

curFile = ThisWorkbook.Name     'Change the string here to look     'in a different folder     myFldr = "C:\Users\User\mySub\"



'Look for both xlsx and xlsm extensions     iFile = Dir(myFldr & "*.xls?", vbNormal)

i = 1     'Loop through all of the files in the folder     Do While iFile <> ""

Cách tiếp cận này sẽ hoạt động tốt trong các tình huống đơn giản. Tuy nhiên, trong một số trường hợp, một macro như vậy chỉ có thể cung cấp giải pháp một phần, vì các liên kết có thể bị ẩn ở nhiều nơi — trong tên Excel, hộp văn bản, biểu đồ và các đối tượng khác. Luôn có khả năng một thứ gì đó có thể không được kiểm tra. Kết quả của việc này là do các thay đổi của bạn có thể ảnh hưởng đến các sổ làm việc khác phụ thuộc vào sổ bạn đang thay đổi, bạn có thể muốn tạo một bản sao lưu của tệp sổ làm việc trước khi thực hiện các thay đổi.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (7799) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.

Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: