Chiêu này giúp bạn cho phép người khác thay đổi các ô có chứa dữ  liệu, nhưng cấm họ thay đổi các ô chứa công thức. Bạn cũng có thể bảo vệ  các ô có chứa công thức mà không cần phải bảo vệ toàn bộ trang tính của  bạn.
Khi tạo một bảng tính, thường chúng ta sẽ  phải dùng đến một số công thức, và khi chia sẻ bảng tính cho mọi người,  có thể bạn muốn rằng, không ai có thể can thiệp (xóa, sửa...) những vào  những ô có chứa công thức. Cách dễ nhất là cũng phổ biến nhất là Protect  (bảo vệ) bảng tính. Tuy nhiên, Protect bảng tính không chỉ ngăn không  cho can thiệp vào các ô chứa công thức, mà nó không cho can thiệp vào  tất cả, nghĩa là không ai có thể làm gì bảng tính của bạn. Đôi khi, bạn  lại không muốn như vậy, bạn chỉ muốn bảo vệ các ô chứa công thức thôi,  còn những ô chứa dữ liệu thì không.
Có ba giải pháp để thực hiện điều này: Khóa những ô chứa công thức, sử  dụng chức năng Data-validation cho các ô chứa công thức, và tự động bật  tắt chức năng bảo vệ.
Khóa các ô chứa công thứcTheo  mặc định, tất cả các ô trong bảng tính đều được khóa (locked), tuy  nhiên, nó chẳng có tác dụng gì trừ phi bạn áp dụng lệnh Protect bảng  tính. Đây là cách dễ nhất để áp dụng lệnh Protect cho bảng tính, nhưng  chỉ những ô chứa công thức thì mới bị khóa, và được bảo vệ:
Chọn toàn bộ bảng tính, bằng cách nhấn Ctrl+A, hoặc nhấn vào cái ô vuông  nằm ở giao điểm của cột A và hàng 1. Rồi nhấn nút phải chuột và chọn 
Format Cells, rồi trong tab 
Protection, bỏ đánh dấu ở tùy chọn 
Locked, rồi nhấn 
OK:
 Mở khóa (Unlock) toàn bộ bảng tính bằng cách bỏ tùy chọn Locked
Mở khóa (Unlock) toàn bộ bảng tính bằng cách bỏ tùy chọn Locked
Sau đó, bạn chọn đại một ô nào đó, chọn 
Home ➝ 
Find & Select ➝ 
Go To Special [E2003: Edit | Go To… | Special]; hoặc nhấn 
Ctrl+G hay 
F5 rồi nhấn vào nút 
Special.... Hộp thoại sau đây sẽ mở ra:
 Dùng hộp thoại Go To Special để chọn các ô có chứa công thức
Dùng hộp thoại Go To Special để chọn các ô có chứa công thức
Trong hộp thoại đó, bạn nhấn vào tùy chọn 
Formulas, và nếu cần  thiết thì chọn hoặc không chọn thêm 4 ô nhỏ ở dưới (liệt kê các loại  công thức, mặc định thì cả 4 ô này đều được chọn), và nhấn 
OK. Sau đó, bạn mở lại hộp thoại 
Format Cells đã nói ở trên, nhưng lần này thì bạn đánh dấu vào tùy chọn 
Locked, và nếu bạn thích ẩn luôn công thức (không cho thấy) thì đánh dấu vào tùy chọn 
Hidden, nhấn 
OK.
Việc cuối cùng là Protect bảng tính: Chọn 
Home trên Ribbon, nhấn vào 
Format trong nhóm 
Cells, rồi nhấn vào 
Protect Sheet...; hoặc chọn 
Review trên Ribbon, rồi nhấn vào 
Protect Sheet [E2003: Tools | Protection | Protect Worksheet]: 
 Chọn Protect Sheet từ Home
Chọn Protect Sheet từ Home
 Chọn Protect Sheet từ Review
Chọn Protect Sheet từ Review
Trong hộp thoại Protect Sheet, bỏ đánh dấu ở tùy chọn 
Select locked cells, chỉ cho phép 
Select unlocked cells (chọn những ô không khóa), và nhập vào một password, nếu cần thiết:
 Bỏ tùy chọn Select locked cells trong hộp thoại Protect Sheet
Bỏ tùy chọn Select locked cells trong hộp thoại Protect Sheet
Vậy là xong. Từ bây giờ, những ô chứa công thức của bạn sẽ được bảo vệ,  có thể không xem thấy được nếu bạn đã chọn Hidden, bạn không lo những  công thức này bị can thiệp nữa.
Sử dụng Data-validationSử  dụng Data-validation, chỉ là đơn giản không cho ghi đè vào những ô có  chứa công thức, nghĩa là không cho sửa công thức. Tuy nhiên, phương pháp  này chỉ phòng ngừa cho chính bạn, nghĩa là tránh việc táy máy sửa lại  cái gì đó trong những ô chứa công thức, chứ thật ra, mặc dù đã được  "Validation", bạn vẫn có thể xóa công thức, hoặc dán vào những ô đó bất  kỳ dữ liệu nào bạn thích... Nói chung nó không bảo vệ được gì nhiều.  Nhưng cũng xin nói sơ qua về phương pháp này:
Để thực hiện, bạn hãy chọn những ô chứa ô công thức bằng chức năng 
Go To Specials mà tôi đã nói ở trên. Rồi, với những ô chứa công thức đang được chọn, bạn gọi 
Data Validation từ menu 
Data trên Ribbon 
[E2003: Data | Validation]. Trong hộp thoại này, chọn tab 
Settings, chọn 
Custom cho khung 
Allow, và nhập công thức này: 
=" " vào khung 
Formula, rồi nhấn 
OK, như hình sau:
 Sử dụng Data Validation để bảo vệ những ô chứa công thức
Sử dụng Data Validation để bảo vệ những ô chứa công thức
Kể từ đây, mỗi khi bạn nhập bất kỳ thứ gì vào trong những ô chứa công  thức, hoặc bạn muốn sửa lại công thức, sẽ có một cảnh báo xuất hiện,  ngăn không cho bạn nhập vào. Xin nhắc lại, phương pháp này không cấm  việc xóa hẳn công thức, cũng như dán đè thứ gì đó vào những ô chứa công  thức.
Tự động bật tắt chức năng bảo vệPhương  pháp này, sẽ tự động bật chức năng bảo vệ bảng tính (Protect) mỗi khi  bạn chọn một ô đã được khóa (locked), nhưng nó cũng sẽ tự động tắt chức  năng bảo vệ khi bạn chọn một ô không bị khóa.
Để bắt đầu, bạn hãy chắc chắn rằng những ô bạn muốn bảo vệ (ô chứa công  thức) đã được khóa, còn những ô không cần bảo vệ thì không bị khóa, như  tôi đã trình bày ở phương pháp thứ nhất. Sau đó, bạn nhấn 
Alt+F11, nhấn vào Sheet mà bạn muốn bảo vệ các ô đã khóa ở trong đó, rồi nhập vào trong khung soạn thảo đoạn code sau đây:
  PHP Code:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Target.Locked = True Then 
        Me.Protect Password:="Secret" 
    Else 
        Me.Unprotect Password:="Secret" 
    End If End Sub    
 Nếu không cần đến password, bạn không cần dùng đoạn 
Password:="Secret", hoặc nếu muốn Password là thứ gì khác, bạn sửa lại chữ 
Secret bằng cái bạn muốn.
Nếu bạn lo rằng người ta có thể vào trong khung soạn thảo VBA để xem  password, bạn có thể bảo vệ các code này (không cho xem) bằng cách chọn 
Tools ➝ 
VBAProject Properties, chọn tab 
Properties, chọn 
Lock Project for Viewing, và nhập vào một password.
Tuy nhiên, phương pháp này cũng không hoạt động hoàn hảo, mặc dù nó cũng  giúp bạn được phần nào việc bảo vệ các công thức. Từ khóa 
Target được  sử dụng trong đoạn code sẽ chỉ để tham chiếu đến ô đang "active" ngay  tại thời điểm nó được chọn (xin nói thêm, cho dù bạn chọn một dãy, nhưng  trong dãy đó, chỉ có một ô "active" mà thôi, là ô đang có màu khác với  những ô còn lại). Vì lý do này, nếu một người nào đó chọn một dãy các ô  (với ô "active" không bị khóa), thì người đó có thể xóa toàn bộ dãy ô  này, bởi vì khi đó thì chức năng Unprotect đã được tự động bật!
 
Comments[ 0 ]
Post a Comment