Graeme có một sổ làm việc có một số lượng lớn (hơn 120) phạm vi được đặt tên được xác định trong đó. Anh ta muốn sao chép các tên và định nghĩa phạm vi sang một sổ làm việc khác. Do đó, sau khi sao chép, phạm vi có tên MyRange1 tham chiếu đến phạm vi C7: H22 trong sổ làm việc gốc sẽ tồn tại trong sổ làm việc đích và tham chiếu đến cùng một phạm vi, trong sổ làm việc đích.

Không có gì khác sẽ được sao chép từ sổ làm việc ban đầu sang đích — chỉ là tên và định nghĩa phạm vi.

Cách dễ nhất để làm điều này là với một macro bước qua từng tên đã xác định của bạn và sao chép định nghĩa tên vào sổ làm việc đích. Đây là một ví dụ:

Sub CopyNames()

Dim Source As Workbook     Dim Target As Workbook     Dim n As Name

Set Source = ActiveWorkbook     Set Target = Workbooks("Book2.xlsx")



For Each n In Source.Names         Target.Names.Add Name:=n.Name, RefersTo:=n.Value     Next End Sub

Lưu ý rằng phần lớn công việc trong macro được thực hiện trong vòng lặp For Each bước qua tất cả các tên đã xác định. Nó tạo tên trong sổ làm việc đích và gán cho nó cùng một nhiệm vụ như đã có trong sổ làm việc nguồn (chứa trong thuộc tính Giá trị).

Cần lưu ý rằng, theo mặc định, phạm vi được đặt tên bao gồm tên của trang tính trong thuộc tính Giá trị. Nếu sổ làm việc nguồn có một phạm vi được đặt tên tham chiếu đến, chẳng hạn như Trang 4 và không có Trang 4 trong sổ làm việc đích, thì việc thêm tên không thành công. Macro không tạo ra lỗi; nó chỉ đơn giản là không tạo ra phạm vi được đặt tên mới. Giải pháp là (a) đảm bảo rằng sổ làm việc đích chứa cùng tên trang tính với sổ làm việc nguồn hoặc (b) sửa đổi macro để nó nhận ra rằng có thiếu trang tính và thực hiện bất kỳ hành động nào thích hợp.

Nếu bạn không muốn tạo macro, thì phương pháp dễ nhất có thể là sao chép các trang tính của bạn từ sổ làm việc nguồn sang sổ làm việc đích.

Excel thường sao chép các phạm vi được đặt tên cùng với các trang tính. Lần duy nhất đây không phải là một cách tiếp cận thỏa đáng là nếu sổ làm việc đích đã có các trang tính có cùng tên với các trang tính đó mà bạn có thể muốn sao chép. Trong trường hợp đó, tốt nhất bạn nên sử dụng phương pháp macro.

_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 (8811) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. 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: