Tạo vùng bảo vệ (protect)

Liên hệ QC

USB1394

Thành viên hoạt động
Tham gia
20/12/08
Bài viết
173
Được thích
12
Nghề nghiệp
Lính triều đình
Em có một dữ liệu muốn tạo 1 vùng bản vệ CT trong đó . Nhưng khi thêm hàng thì EX ko cho , mong bạn nào biết xin giúp dùm , xin cám ơn
 

File đính kèm

  • BaoveCT.xls
    17.5 KB · Đọc: 56
Lần chỉnh sửa cuối:
Em có một dữ liệu muốn tạo 1 vùng bản vệ CT trong đó . Nhưng khi thêm hàng thì EX ko cho , mong bạn nào biết xin giúp dùm , xin cám ơn
Đã tạo vùng bảo vệ, lại muốn cho phép chèn dòng..., không sợ công thức bị sai lệch do bị chèn thêm dòng sao?
Nếu cứ muốn chèn được thêm dòng sau khi đã Protect thì trước khi nhập mã Protect sheet, đánh dấu chọn thêm mục Insert rows như hình bên dưới.
Chú ý là dòng mới chèn thêm không tự động có sẵn công thức như ở dòng trên đâu, phải
Unprotect rồi nhập thêm công thức, phiền!
Protect [640x480].jpg
 
Lần chỉnh sửa cuối:
Đã tạo vùng bảo vệ, lại muốn cho phép chèn dòng..., không sợ công thức bị sai lệch do bị chèn thêm dòng sao?
Nếu cứ muốn chèn được thêm dòng sau khi đã Protect thì trước khi nhập mã Protect sheet, đánh dấu chọn thêm mục Insert rows như hình bên dưới.
Chú ý là dòng mới chèn thêm không tự động có sẵn công thức như ở dòng trên đâu, phải
Unprotect rồi nhập thêm công thức, phiền!
View attachment 41890

Chính vì vùng chứa CT mới cần bảo vệ . Nếu bạn thêm dòng theo cách bình thường thì sẽ ko có sẵn CT nên giải pháp là : chọn dòng chứa CT --> Copy --> dùng chức năng Insert Copied Cells để thêm dòng là OK
VĐ : là để làm như thế mà ko cần phải tháo PW một cách thủ công (giống như bạn đã hướng dẫn). . . (bạn có thể xem kĩ lại phần VĐ mình ghi rất rõ)
Mong sớm nhận được hồi âm của bạn , xin cám ơn
 
Chính vì vùng chứa CT mới cần bảo vệ . Nếu bạn thêm dòng theo cách bình thường thì sẽ ko có sẵn CT nên giải pháp là : chọn dòng chứa CT --> Copy --> dùng chức năng Insert Copied Cells để thêm dòng là OK
VĐ : là để làm như thế mà ko cần phải tháo PW một cách thủ công (giống như bạn đã hướng dẫn). . . (bạn có thể xem kĩ lại phần VĐ mình ghi rất rõ)
Mong sớm nhận được hồi âm của bạn , xin cám ơn
Insert Copied Cells tôi không biết, chắc là của Excel 2007 hoặc 2010?
Nhưng vấn đề Bạn hầu như đã rõ, đã khóa rồi mà vẫn muốn chèn dòng, copy - paste thoải mái thì khóa làm gì, ai cũng copy, paste...., bản chính không còn nguyên vẹn?
 
Insert Copied Cells tôi không biết, chắc là của Excel 2007 hoặc 2010?
Nhưng vấn đề Bạn hầu như đã rõ, đã khóa rồi mà vẫn muốn chèn dòng, copy - paste thoải mái thì khóa làm gì, ai cũng copy, paste...., bản chính không còn nguyên vẹn?
Xin cám ơn sự góp ý chân thành của bạn . Mình xin trình bày rõ 2 VĐ sau:
--- Thứ 1 : Chức năng Insert copied cells : khi ta insert thì chỉ thêm 1 dòng rỗng, nếu ta copy 1 dòng có công thức thì khi insert thì lúc này sẽ có lựa chọn là insert copied cells . Dòng tạo ra ko phải là dòng rỗng mà có chứa công thức tương đối và tuyệt đối (VD : Cột Thành tiền có CT = cột SL x cột ĐG , ta xét CT côt thành tiền tiền thì sẽ rõ) . Ở đây bạn cần hiểu thêm chức năng này để có thể hình dung vấn đề mình đang gặp phải
--- Thứ 2 : Trong đk bình thường ta dùng PW để bảo vệ CT (VD ở đây giống như trên) ko cho ai sửa CT là đúng yêu cầu nhưng vấn đề là khi ta cần thêm 1 dòng nữa mà dòng này lại có CT .Bạn có thể hình dung như thế này :Giả sử Hóa đơn có 10 dòng ,cột TT = cột SL x cột ĐG . Ta muốn thêm 1 dòng mới vào trước dòng số 5 và dòng mới này vẫn có CT = SL x ĐG . Nếu ta dùng cách thông thường (protect sheet) thì ko thể insert copied cells . Ở đây bạn cần hiểu rõ yêu cầu đã đúng nhưng vấn đề đặt ra là gì !

Xin cám ơn bạn và mong sớm nhận được sự giúp đỡ của bạn !+-+-+-++-+-+-++-+-+-+
 
Em có một dữ liệu muốn tạo 1 vùng bản vệ CT trong đó . Nhưng khi thêm hàng thì EX ko cho , mong bạn nào biết xin giúp dùm , xin cám ơn
bạn chỉ cần phủ khối các hàng hay cột mà bạn muốn bảo vệ (dùng phím ctrl hay Alt để phủ khối thồi và rê chuột đến vùng cần bảo vệ công thức nhé) sao đó chọn phím tắt Ctrl+1( ở trên gốc trái phím gần nút Tab<=>) khi đó nó hiện lên một thẻ và bạn bỏ đi dấu tích (thường thì nó hay khoá)
chý ý: ô nào có công thức thì dữ nguyên không chọn gì cả, còn ô nào không cần bảo vệ thì gở bỏ dấu tích "Locked" thế nhé!
Y70.12388419_1_1.png
 
xin bạn ongtrungducmx25 xem kĩ lại phần yêu cầu ,mình trình bày rất rõ Phần 05 :http://www.giaiphapexcel.com/forum/showthread.php?33758-T%E1%BA%A1o-v%C3%B9ng-b%E1%BA%A3o-v%E1%BB%87-%28protect%29&p=246993#post246993

mong nhận đc sự giúp đỡ của bạn
Tóm lại, yêu cầu của Bạn không thể thực hiện được (đối với trình độ hạn hẹp của tôi). Một vùng đã protect lại muốn chèn thêm dòng cột, (chèn được thì xóa được) thoải mái thì protcect làm gì?
Xin chào và không dám tham gia topic này nữa.
 
Lần chỉnh sửa cuối:
hình như là bạn cần khai báo VBA để rở bỏ mật khẩu protect sheet đúng không!còn chức năng insert copied cells thì nó copy cả cột mang giá trị tuyệt đối hay các giá trị thôi không biết có đúng ý bạn không.
PHP:
Private Sub ROMATKHAU_Click()
ActiveSheet.Unprotect ("NHẬN MẬT KHẨU RỞ BỎ VÀO ĐÂY")
End Sub
KHÓA SHEET THÌ CŨNG THẾ THÔI THAY ĐỔI MỘT TÍ NHÉ!

PHP:
Private Sub KHOASHEET_Click()
ActiveSheet.protect ("NHẬN MẬT KHẨU KHÓA SHEET VÀO ĐÂY")
End Sub
 
Lần chỉnh sửa cuối:
Xin cám ơn sự góp ý chân thành của bạn . Mình xin trình bày rõ 2 VĐ sau:
--- Thứ 2 : Trong đk bình thường ta dùng PW để bảo vệ CT (VD ở đây giống như trên) ko cho ai sửa CT là đúng yêu cầu nhưng vấn đề là khi ta cần thêm 1 dòng nữa mà dòng này lại có CT .Bạn có thể hình dung như thế này :Giả sử Hóa đơn có 10 dòng ,cột TT = cột SL x cột ĐG . Ta muốn thêm 1 dòng mới vào trước dòng số 5 và dòng mới này vẫn có CT = SL x ĐG .

Xin cám ơn bạn và mong sớm nhận được sự giúp đỡ của bạn !+-+-+-++-+-+-++-+-+-+
Theo mình bài này vẫn giải quyết bình thường được, mình đang phân vân là nên đưa code vào sự kiện nào cho đỡ ảnh hưởng tới các thao tác sau này.
Tạm thời mình dùng sự kiện Worksheet_BeforeRightClick để giải quyết nó, nếu có gì vướng khi sử dụng thao tác này ta có thể tìm hướng khác
Bạn thử chép code này, chèn dòng bình thường ==> right-click bất cứ cell nào trên bảng tính nó sẽ điền công thức vào ô có chứa công thức.
Mã:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim i, j As Long
    Unprotect ("a")
      i = Range([e3], [E200].End(xlUp)).SpecialCells(xlCellTypeFormulas, 23).Count
      j = Range([e3], [E200].End(xlUp)).Rows.Count
        If j > i Then Range([e3], [E200].End(xlUp)).FillDown
         Cells.Locked = False
         Columns("E:E").Locked = True
    Protect ("a"), AllowInsertingRows:=True
End Sub
Thân
Bạn nhớ xóa bỏ dòng "Hết dữ liệu" nhé
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom