Gốc > Kho Code, thiết kế website, học tin học > Thủ thuật Excel >

Bảo vệ công thức trong Microsoft Excel

Một bảng tính Excel thông thường có hai phần: dữ liệu “thô” là số liệu thực tế và phần công thức để tính toán. Công thức để tính toán đôi khi khá phức tạp và đòi hỏi nhiều công sức, còn dữ liệu thô thì có thể ai nhập cũng được. Do đó, vấn đề sẽ không còn đơn giản nếu trong bảng tính có chỗ ta muốn bảo vệ mà có chỗ lại không. Cách làm của tôi trong việc bảo vệ công thức là cứ để các ô bị locked theo mặc định, không cần phải thay đổi gì. Nhưng khi người dùng thay đổi (kể cả việc xóa) các ô có công thức (bắt đầu bằng dấu = ) thì việc khóa sẽ thực hiện (giống như vào menu Tools -> Protect Sheet). Còn khi người dùng thay đổi ô không phải là công thức thì việc thay đổi sẽ được chấp nhận (tương đương với việc chọn Tools\Unprotect Sheet) Vào menu Tools - Macro - Visual Basic Editor Cửa sổ soạn thảo Visual Basic hiện ra, khung bên trái là Project Explore (nếu chưa thấy thì chọn menu View - Project Explorer). Nhấp kép chuột vào This WorkBook, gõ vào khung soạn thảo bên phải đoạn mã

Private Sub

Workbook_SheetSelectionChange

(ByVal Sh As Object, ByVal

Target As Range)

Dim rng As Range

For Each rng In Target.Cells

If rng.HasFormula Then

ActiveSheet.Protect

Exit Sub

Else

ActiveSheet.Unprotect

End If

Next rng

End Sub


Nhắn tin cho tác giả
Nguyễn Hữu Điệp @ 12:45 12/09/2010
Số lượt xem: 1305
Số lượt thích: 0 người
 
Gửi ý kiến