Làm sao để ẩn đi Defined Name?

Liên hệ QC

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Kính thưa các Anh Chị,
Khi đặt tên, hay công thức chúng ta thường vào Defined Name, nhưng trong hộp Name Box của Excel khi xổ xuống, những tên đó lại hiện ra.
Tôi muốn ẩn chúng thì phải dùng phương thức gì?

À, đôi khi chúng ta cũng không muốn show công thức nên vào defined name, nhưng vùng làm việc cần phải chỉnh sửa nên không thể protectsheet được, tôi tạm thời protectsheet nhưng check tất cả định dạng, thế là người khác không thể vào defined name được, song, nếu không workbook protect, thì với Excel 2007, chỉ cần thêm 1 sheet mới là có thể vô tư xem defined name. Vậy có cách nào để ngăn chặn không cho xem những defined name đã thực hiện hay không?

Kính nhờ hướng dẫn!
Cám ơn rất nhiều.
 
Muốn ẩn Names bạn dùng sub này
PHP:
Sub Visible_Names()
Dim N As Name
  For Each N In ActiveWorkbook.Names
    N.Visible = False
  Next
End Sub
Muốn chúng hiện trở lại bạn dùng sub này
PHP:
Sub Names()
Dim N As Name
  For Each N In ActiveWorkbook.Names
    N.Visible = True
  Next
End Sub
 
Upvote 0
Kính thưa các Anh Chị,
Khi đặt tên, hay công thức chúng ta thường vào Defined Name, nhưng trong hộp Name Box của Excel khi xổ xuống, những tên đó lại hiện ra.
Tôi muốn ẩn chúng thì phải dùng phương thức gì?

À, đôi khi chúng ta cũng không muốn show công thức nên vào defined name, nhưng vùng làm việc cần phải chỉnh sửa nên không thể protectsheet được, tôi tạm thời protectsheet nhưng check tất cả định dạng, thế là người khác không thể vào defined name được, song, nếu không workbook protect, thì với Excel 2007, chỉ cần thêm 1 sheet mới là có thể vô tư xem defined name. Vậy có cách nào để ngăn chặn không cho xem những defined name đã thực hiện hay không?

Kính nhờ hướng dẫn!
Cám ơn rất nhiều.
Sao khi đã định nghĩa name, Bạn viết code ẩn chúng đi là xong chứ gì
Chẳng hạn:
PHP:
Sub AnName()
  Dim N As Name
  For Each N In ThisWorkbook.Names
    N.Visible = False
  Next
End Sub
Chạy code xong, kiểm tra name, nếu thấy chúng đã ẩn hết rồi thì xóa luôn code... Mai này muốn name hiện ra trở lại thì viết lại code giống như trên, nhưng thay đoạn N.Visible = False thành N.Visible = True rồi chạy code
Cách chỉ là phòng "người ngay"... Còn với cao thủ thì cho dù bạn giấu thế nào họ cũng có cách mở được
Anh TrungChinh chú ý cái ActiveWorkbook ---> Coi chừng sa bẩy nha!
 
Upvote 0
Cám ơn các CHUYÊN GIA rất rất nhiều!
Hihihi, tại Name Box sổ ra nhiều Name quá, trông hơi bị kinh dị, nên tìm cách ẩn đi thôi.
Chân thành cảm ơn một lần nữa!!!!!!!!!!!!

Làm ơn cho hỏi, chỉ được đặt Name mới khi cho nó hiện lại thôi phải không ạ? Có thể đặt thêm tên trong lúc nó đang bị Hide không ạ?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Cám ơn các CHUYÊN GIA rất rất nhiều!
Hihihi, tại Name Box sổ ra nhiều Name quá, trông hơi bị kinh dị, nên tìm cách ẩn đi thôi.
Chân thành cảm ơn một lần nữa!!!!!!!!!!!!

Làm ơn cho hỏi, chỉ được đặt Name mới khi cho nó hiện lại thôi phải không ạ? Có thể đặt thêm tên trong lúc nó đang bị Hide không ạ?
Cái này bạn cứ thí nghiệm đi tự nhiên sẽ biết (khỏi cần hỏi)
Thử nhiều trường hợp... chẳng hạn tạo 1 name trùng tên với name đang ẩn xem "nó bảo" thế nào
 
Upvote 0
Web KT

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

Back
Top Bottom