cái này có thể kháo các ô có chứa công thức không bạn?Các bạn giúp mình cách khóa các vùng dữ liệu trong 1 sheet. Còn những khác thì vẫn nhập dữ liệu bình thường. Mong các bạn giúp đỡ. Cảm ơn các bạn nhiều!
Cach1: dùng Excel:Chào bạnkhoavu87 bạn giúp mình với. Bạn nói đúng ý của mình rồi. Khóa những vùng có công thức còn những vùng ko có công thức thì nhập liệu thoải mái. Giúp mình nhé. Cảm ơn bạn!
Private Sub workbook_sheetselectionchange(ByVal sh As Object, ByVal target As Range)
'password dat la "25251325"
Dim rngdata As Range
'bat dau vong lap for qua vong lap for co chua gia tri
For Each rngdata In target.Cells
'kiem tra xem o so co phai la cong thuc khong ?
If rngdata.HasFormula Then
'khoa o neu o do la cong thuc
ActiveSheet.Protect ("25251325")
Exit Sub
Else
'huy bo khoa o neu o do khong phai la cong thuc
ActiveSheet.Unprotect ("25251325")
End If
Next rngdata
End Sub
cái này có thể kháo các ô có chứa công thức không bạn?
tức là nếu các ô chứa công thức thì khóa lại.còn không chứ công thức thì bạn nhập dữ liệu thoải mái?
nếu như vậy thì trờ tin bạn,rùi sẽ làm tiếp
Các bạn giúp mình cách khóa các vùng dữ liệu trong 1 sheet. Còn những khác thì vẫn nhập dữ liệu bình thường. Mong các bạn giúp đỡ. Cảm ơn các bạn nhiều!
Bạn trả lời cho bài nào, của ai, nên ấn vào nút Trả Lời Với Trích Dẫn dưới bài đó để người khác biết mà dò...Đối với Excel 2003 thì mình hay làm như thế này này.
B1. Chọn tất cả sheet/Format Cells.../Protection/"nếutích chọn":
Lock = khóa tất cả
Hide = ẩn công thức và nội dung bên trong
nhấn OK
B2. Chọn ô (cells) chỉ cho phép nhập và sửa thì chọn những ô (cells) đó bằng cách bôi đen và "bỏ dấu chọn" trong mục: Lock và Hide/Ok
B3. Chọn Menu Tools/Protection/Protect Sheets.../Tại vị trí dấu nhắc bạn gõ mật khẩu/OK/nhập lại mật khẩu mà bạn vừa nhập lúc trước để xác nhận/Ok
Kết quả sẽ ...... như bạn mong muốn!
Bạn trả lời cho bài nào, của ai, nên ấn vào nút Trả Lời Với Trích Dẫn dưới bài đó để người khác biết mà dò...
Bài trả lời của bạn chẳng ai hiểu bạn muốn trả lời cho ai.
Cũng như không!
------------
Nếu trả lời cho các bài hỏi cách mở khóa bên trên là cùng phạm quy. Vào thùng rác của GPE.
Bài của bạn hướng dẫn hình như bị ngược.Cảm ơn bác đã nhắc, "Đã bổ xung" nội dung bài viết bên trên
Thực ra vắn tắt thì sẽ là:Bài của bạn hướng dẫn hình như bị ngược.
Đầu tiên chọn toàn bộ sheet, vào Format ... bỏ chọn Lock, Hide, sau đó chọn 1 hoặc nhiều vùng muốn khóa, vào Format ... click chọn Lock, Hide.
Vào Protect Sheet khóa lại.
Sau này tất cả các ô ngoài vùng bị khóa mới nhập liệu được theo ý tác giả.
Khi bạn nhập vào một vùng có khóa vùng excel sẽ hỏi bạn mật khẩu, bạn gõ đúng mật khẩu là nhập được bình thường. Nếu bạn không nhớ mật khẩu vùng thì phải nhớ mật khẩu lúc bạn khóa sheet (Protect Sheet), khi mở khóa sheet thì khóa vùng mất tác dụng. Bạn có thể vào thay đổi mật khẩu vùng bằng cách: Review => Allow users to Edit Ranges => Modify, sau đó nhập mật khẩu mới. Để khóa vùng có tác dụng bạn phải khóa sheet lại (Protect Sheet).Sao mọi người toàn khóa mà không đề cập đến vấn đề mở nhỉ?
Mình có hỏi rồi sao mà ko thấy ai help me nơi hu hu hu
Mình đang dùng Excel 2007.
Mình có dùng phần mềm OPRTbox nhưng sao mở cũng ko được hè?
Bạn sửa lại code như sau:Em cũng có file đính kèm muốn khóa theo vùng. Chỉ khóa trong vùng màu vàng A1:E5, khóa những cell đã có dữ liệu. Vậy thêm lệnh gì để chỉ khóa trong vùng đó thôi, ngoìa vùng này thì cell có dữ liệu vẫn chỉnh sửa được.Cảm ơn các bác hồi âm giúp dùm
Ui thật tuyệt, bac Nghiaphuc có code ngắn mà dễ hiểu. Thanks bác nhiều.Bạn sửa lại code như sau:
[GPECODE=vb]Sub LockSh2()
With Sheet1
.Unprotect "gpe"
.Cells.Locked = False
.[A1:E5].Locked = True
.Protect "gpe"
End With
End Sub[/GPECODE]
Bạn sửa lại code như sau:
[GPECODE=vb]Sub LockSh2()
With Sheet1
.Unprotect "gpe"
.Cells.Locked = False
.[A1:E5].Locked = True
.Protect "gpe"
End With
End Sub[/GPECODE]
Cach1: dùng Excel:
----Bôi đen toàn bộ sheet (kích chuột vào điểm giao của cột 1 và hàng A)
---menu---->format---->formatcell----->Protection--->tích bỏ hai cái (Locked và Hidden)---->Ok
----Ctr+G---->chọn Special---->tích vào Formulas --->ok
----vào formatcell----->Protection --->chọn hết lại hai cái: Locked và Hidden)---->Ok
----vào tool ---->protec--->gõ mật khẩu hai lần-->ok-->song
Cách 2:
'ạn chép đoạn modul sau đây vào ( bạn chọn ALt+ff--->copy đoạn code đó vào ----thisworkboox)
'Tao o khoa tung cel trong khi su dung cong thuc,mà khong cho ng khac su dung
__________________PHP:Private Sub workbook_sheetselectionchange(ByVal sh As Object, ByVal target As Range) 'password dat la "25251325" Dim rngdata As Range 'bat dau vong lap for qua vong lap for co chua gia tri For Each rngdata In target.Cells 'kiem tra xem o so co phai la cong thuc khong ? If rngdata.HasFormula Then 'khoa o neu o do la cong thuc ActiveSheet.Protect ("25251325") Exit Sub Else 'huy bo khoa o neu o do khong phai la cong thuc ActiveSheet.Unprotect ("25251325") End If Next rngdata End Sub
Bạn chú ý chính tả: Alt + F11, không phải Alt + ff
và thisworkbook, không phải thisworkboox
Code của bạn chạy tốt nhưng người ta không thể nào sử dụng được do mở không lên cửa sổ VBA và không tìm thấy chỗ để copy code vào.
Và: làm xong, không phải làm song
ptm0412
Bạn ơi, cách làm chi tiết như thế nào? Cảm ơn bạn.Bạn thử tải file này xem
Đó là dùng code đó bạn. Bạn nhấn Alt+F11 để xem code. Chạy code thì nhấn Alt+f8. Sau khi chạy code thì sẽ thống báo khóa vùng nào ở Sheet2.Bạn ơi, cách làm chi tiết như thế nào? Cảm ơn bạn.
hay quá cảm ơn bạn rất nhiều, tuyệt vời.Ok mình giúp bạn theo hai cách nhá.
Cach1: dùng Excel:
----Bôi đen toàn bộ sheet (kích chuột vào điểm giao của cột 1 và hàng A)
---menu---->format---->formatcell----->Protection--->tích bỏ hai cái (Locked và Hidden)---->Ok
----Ctr+G---->chọn Special---->tích vào Formulas --->ok
----vào formatcell----->Protection --->chọn hết lại hai cái: Locked và Hidden)---->Ok
----vào tool ---->protec--->gõ mật khẩu hai lần-->ok-->song
Cách 2:
'ạn chép đoạn modul sau đây vào ( bạn chọn ALt+ff--->copy đoạn code đó vào ----thisworkboox)
'Tao o khoa tung cel trong khi su dung cong thuc,mà khong cho ng khac su dung
__________________PHP:Private Sub workbook_sheetselectionchange(ByVal sh As Object, ByVal target As Range) 'password dat la "25251325" Dim rngdata As Range 'bat dau vong lap for qua vong lap for co chua gia tri For Each rngdata In target.Cells 'kiem tra xem o so co phai la cong thuc khong ? If rngdata.HasFormula Then 'khoa o neu o do la cong thuc ActiveSheet.Protect ("25251325") Exit Sub Else 'huy bo khoa o neu o do khong phai la cong thuc ActiveSheet.Unprotect ("25251325") End If Next rngdata End Sub
Bạn chú ý chính tả: Alt + F11, không phải Alt + ff
và thisworkbook, không phải thisworkboox
Code của bạn chạy tốt nhưng người ta không thể nào sử dụng được do mở không lên cửa sổ VBA và không tìm thấy chỗ để copy code vào.
Và: làm xong, không phải làm song
ptm0412
Khi Protect thì bạn đánh dấu chọn như hình.mình làm theo cách khoavu87 rất ok (mình viết gọn lại 1 chút cho dễ hình dung)
- Bôi đen vùng cần khóa trong sheet
- Ctrl + 1 hiện ra menu->tích bỏ Locked và Hidden ->Ok
- Ctrl+G ->chọn Special ->tích vào Formulas ->ok
- Ctrl + 1 hiện ra menu->tích chọn Locked và Hidden ->Ok
- vào Home -> Format -> protec sheet--->gõ mật khẩu ->ok-> gõ mật khẩu lần 2 ->ok
(khóa công thức thì tích locked, ẩn công thức thì dùng Hidden, muốn cả 2 thì tích hết)
tuy nhiên khi khóa rows và columns nó khóa luôn hình ảnh mình đính kèm, mà hình ảnh đó mình cần di chuyển, có bạn nào có cách gỡ không giúp mình với. Cảm ơn