Khóa ô không cho xem công thức (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

van_qni

Thành viên mới
Tham gia
14/11/06
Bài viết
2
Được thích
2
Kính gởi các bạn!
Tôi đã lập 01 công thức trong EXCEL nhưng không biết làm sao khoá được. Mong các bạn giúp với
 
Khóa là sao bạn ? Không cho chỉnh sửa ? Không cho thấy ? Không cho kích hoạt vùng đó ? Không cho chọn Sheet đó ?. Nói rõ hơn bạn ạ.
 
Upvote 0
Kính gởi các bạn!
Mình muốn khoá công thức trong excel là khoá không cho người khác chỉnh sửa công thức mình đã tạo ra, chỉ được nhập số liệu. Mong các bạn giup đỡ
 
Upvote 0
Bạn thử cách này xem sao:
Nhấn Ctrl+A để chọn hết trang bảng tính hiện hành.
Nhấn Ctrl+1, bỏ tuỳ chọn Lock trong tab Protection
Nhấn Ctrl+G, chọn special, sau đó chọn Formulas, nhấn OK
Nhấn Ctrl+1, chọn Lock trong tab Protection
Cuối cùng là đặt password cho sheet.
 
Upvote 0
Tôi xin giới thiệu với các bạn một cách bảo vệ công thức mà theo tôi nghĩ thì "cực hay" nhưng không biết các bạn có nghĩ như vậy không?
Vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn mã sau:
Mã:
Option Explicit
'
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Password toi dat la "nvson", ban co the thay doi lai
Dim rngData As Range
For Each rngData In Target.Cells
    If rngData.HasFormula Then
        ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]")
        Exit Sub
    Else
        ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]")
    End If
Next rngData
End Sub
Đặt Password cho VBA bằng cách nhấn phải chuột vào VBAProject/ VBAProject properties/ Protection....
Trở về MS Excel và thực hiện việc nhập dữ liệu và đánh công thức...
Bạn thử xoá ô chứa dữ liệu và ô chứa công thức ---> sẽ thấy sự khác nhau.
 
Upvote 0
nvson đã viết:
Tôi xin giới thiệu với các bạn một cách bảo vệ công thức mà theo tôi nghĩ thì "cực hay" nhưng không biết các bạn có nghĩ như vậy không?
Vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn mã sau:
Mã:
Option Explicit
'
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Password toi dat la "nvson", ban co the thay doi lai
Dim rngData As Range
For Each rngData In Target.Cells
    If rngData.HasFormula Then
        ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]")
        Exit Sub
    Else
        ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]")
    End If
Next rngData
End Sub
Đặt Password cho VBA bằng cách nhấn phải chuột vào VBAProject/ VBAProject properties/ Protection....
Trở về MS Excel và thực hiện việc nhập dữ liệu và đánh công thức...
Bạn thử xoá ô chứa dữ liệu và ô chứa công thức ---> sẽ thấy sự khác nhau.

Cám ơn bác,đoạn mã rất hay,em đã thử nó khoá lại tất cả những ô chữa công thức.Giờ em còn muốn khoá những ô nhập dữ liệu lại: sau khi mình đã nhập dữ liệu vào thì ô đó tự động khoá lại,nếu muốn thay đổi phải sử dụng pass,không biết có làm như vậy được không vậy@$@!^% Mong sự giúp đỡ của bác.-=.,,
 
Upvote 0
anh17d4 đã viết:
Cám ơn bác,đoạn mã rất hay,em đã thử nó khoá lại tất cả những ô chữa công thức.Giờ em còn muốn khoá những ô nhập dữ liệu lại: sau khi mình đã nhập dữ liệu vào thì ô đó tự động khoá lại,nếu muốn thay đổi phải sử dụng pass,không biết có làm như vậy được không vậy@$@!^% Mong sự giúp đỡ của bác.-=.,,
Có lẻ đường hường vầy chăng:
Đặt tên cho vùng nhập dữ liệu;
Tạo macro tương tự như của NVSon để khoá mỗi vùng có tên vừa gán đó thôi;
Vận hành: khi nhập dữ liệu xong thì ấn nút để chạy macro;

Bạn xem thêm ở đây:
http://giaiphapexcel.com/forum/showthread.php?t=1238&highlight=protect
 
Lần chỉnh sửa cuối:
Upvote 0
SA_DQ đã viết:
Có lẻ đường hường vầy chăng:
Đặt tên cho vùng nhập dữ liệu;
Tạo macro tương tự như của NVSon để khoá mỗi vùng có tên vừa gán đó thôi;
Vận hành: khi nhập dữ liệu xong thì ấn nút để chạy macro;
=========
_)()(- bạn nói mình làm theo ko có được. code cua ban nvson minh tao song roi thi o macro nó không hiện lên, nen chay ko dc. và chuyện khóa vùng muốn gán nen cung ko làm dc. bạn có thể huớng dẫn rõ hơn 1 ti dc ko?cảm ơn ban nhiều
 
Upvote 0
/(hóa vùng mang tên!

forward đã viết:
=========
_)()(- & chuyện khóa vùng muốn gán nen cung ko làm dc. bạn có thể huớng dẫn rõ hơn 1 ti dc ko?
Hãy chọn ô A0 (để chọn tòn bộ các ô đó mà) của Sheet chứa vùng cần khoá;
Vô menu Format -> Cells & bỏ chọn để bỏ khóa toàn bộ các ô;
Chọn vùng cần mang tên; Vô menu Insert -> Name để thực hiện xong việc gán tên cho 1 vùng; Nếu đã có vùng mang tên riêng rồi thì qua bước này!
Tại 1 ô bất kỳ, Ta vô menu Edit -> Go to . . . -> Special. Gỏ tên bạn đã gán cho vùng cần khóa vô CS (cửa sổ) Reference(sau động thái ni vùng mang tên sẽ được chọn);
Vô lại menu Format -> Cells & ấn chọn Locked trong CS Protection & gán mật khẩu khi được iêu cầu;
 
Upvote 0
Tô i làm rùi như ng khi muốn sửa lại thi thì khô ng đ ư ợc kể cả khi đ ã mở pas s bạn Sơ n xem lại giúp
 
Upvote 0
@ tete:
Khi bạn đánh công thức xong, nhấn Enter thì các công thức trong sheet đó được bảo vệ bằng pass.
Muốn sửa thì bạn phải Unprotect Sheet, sau đó chọn ô có công thức, nhấn F2 để sửa. Sau khi nhấn Enter thì công thức đó lại được bảo vệ.
Vì vậy nếu bạn muốn chỉnh sửa nhiều công thức thì nên dùng theo bài #4, không dùng VBA (bài #5).
 
Upvote 0
Chào bạn,

Mình mới tập tành excel nên không biết nhiều lắm, cách của bạn mình đã thực hiện được rồi. Nhưng h mình không muốn khoá nữa thì làm ntn :( và lúc click vào thì nó hiện lên thông báo, mình muốn nó bỏ luôn thông báo đó thì làm thế nào vậy bạn :(

Sorry vì mình chưa rành về excel lắm, chỉ làm theo và nghiên cứu thôi :d

Cảm ơn bạn nhiều lắm !
Tôi xin giới thiệu với các bạn một cách bảo vệ công thức mà theo tôi nghĩ thì "cực hay" nhưng không biết các bạn có nghĩ như vậy không?
Vào VBA, nhấn đúp vào ThisWorkbook, rồi thêm đoạn mã sau:
Mã:
Option Explicit
'
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Password toi dat la "nvson", ban co the thay doi lai
Dim rngData As Range
For Each rngData In Target.Cells
    If rngData.HasFormula Then
        ActiveSheet.Protect ("[COLOR=red]nvson[/COLOR]")
        Exit Sub
    Else
        ActiveSheet.Unprotect ("[COLOR=red]nvson[/COLOR]")
    End If
Next rngData
End Sub
Đặt Password cho VBA bằng cách nhấn phải chuột vào VBAProject/ VBAProject properties/ Protection....
Trở về MS Excel và thực hiện việc nhập dữ liệu và đánh công thức...
Bạn thử xoá ô chứa dữ liệu và ô chứa công thức ---> sẽ thấy sự khác nhau.
 
Upvote 0
Thế với những ô công thức tạo bằng VBA thì sao ? Tôi thử những ô như thế thì nó không bị khóa, phải làm như thế nào ?
 
Upvote 0
Các AC cho em hỏi có cách nào ẩn các ô chứa công thức nhưng vẫn làm việc bình thường trên sheet????
 
Upvote 0
Các AC cho em hỏi có cách nào ẩn các ô chứa công thức nhưng vẫn làm việc bình thường trên sheet????

Thì bạn cứ chọn hết Sheet rồi Format Cell, trong thẻ Protection bỏ chọn Locked và chỉ chọn là Hidden, sau đó Protect Sheet thôi.
 
Upvote 0
Có cách nào mà copy dữ liệu từ ô đã khóa công thức không các bạn, tôi muốn lưu kết quả của mỗi lần thay đổi số liệu để làm tập hợp thống kê, nhưng không thể copy được kết quả.
 
Upvote 0
Unprotect để copy paste và protect lại

Trên một sheet có nhiều vùng tính khác nhaun(tượng trưng cho mỗi vùng màu vàng). người tính bao nhiêu vùng thì copy vùng công thức 1 dán xuống vùng dưới thứ n. do đã bị người sử dụng khác thay đổi công thức nên làm sai hàng loạt nên muốn khóa không cho thay đổi công thức nhưng cho phép copy và dán xuống vùng khác bình thường rồi tiếp protect lại như "nvson" đã làm. vậy mình phải viết lệnh như thế nào.
Xin cảm ơn!
 

File đính kèm

Upvote 0
Mình cũng chỉ biết cách khóa Sheet thôi, Chứ khóa ô thì cũng chưa biết. Có a/c nào biết không ah
 
Upvote 0
Web KT

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

Back
Top Bottom