Sửa đổi cài đặt bảo vệ của trang tính hợp đồng

Thật không may khi mật khẩu bảo vệ trang tính của bạn, không có tùy chọn nào để kiểm tra điều đó sẽ cho phép bạn cho phép người dùng sử dụng các nút mở rộng/thu gọn cho các nhóm ô. Cách duy nhất để thực hiện chức năng như vậy là chạy macro VBA

Chìa khóa để có được chức năng này là đặt thuộc tính bảo vệ UserInterfaceOnly thành TRUE và sau đó bật khả năng mở rộng/thu gọn các nhóm hàng/cột. Mã này chỉ cần được chạy một lần trên mỗi trang tính. Sau đó, bạn có thể bảo vệ trang tính của mình bằng mật khẩu theo cách thủ công (biết rằng tính năng đường viền sẽ luôn hoạt động khi tính năng bảo vệ trang tính được bật)

Thay đổi cài đặt bảo vệ ActiveSheet

Đây là mã bạn sẽ cần chạy để cho phép các nút phác thảo hoạt động trên tab bảng tính hiện được chọn của bạn

Sub EnableOutliningWithProtection()
'PURPOSE. Cho phép chức năng Outline khi Trang tính được bảo vệ
'SOURCE. www. Bảng tínhGuru. com/the-code-vault

'Trang tính hiện tại được bảo vệ bằng mật khẩu
  ActiveSheet. bảo vệ mật khẩu. = "",Chỉ giao diện người dùng. = True

'Bật khả năng thu gọn/mở rộng nhóm
  ActiveSheet. EnableOutlining = True

'Unprotect Sheet
  ActiveSheet. Bỏ bảo vệ ""
  
Kết thúc Phụ

Thay đổi mọi trang tính trong ActiveWorkbook

Thay vào đó, bạn có thể chạy đoạn mã sau để chạy trên mọi trang tính trong sổ làm việc hiện tại của mình. Lưu ý rằng nếu bạn tạo các trang tính mới trong tương lai, bạn sẽ cần chạy lại mã này để cài đặt bảo vệ (các) trang tính mới cũng được thay đổi

Sub EnableOutliningWithProtection_AllSheets()
'PURPOSE. Cho phép chức năng Outline trong khi Bảo vệ trong tất cả các Trang tính
'SOURCE. www. Bảng tínhGuru. com/the-code-vault

Dim sht As Trang tính

'Loop through each Worksheet in ActiveWorkbook
  For Each sht In ActiveWorkbook.Worksheets
     'Trang tính hiện tại được bảo vệ bằng mật khẩu
      sht. bảo vệ mật khẩu. = "",Chỉ giao diện người dùng. = True
    
     'Bật khả năng thu gọn/mở rộng nhóm
      sht.EnableOutlining = True
    
     'Bỏ bảo vệ trang tính
      sht.Unprotect ""
    
   Tiếp theo sht

End Sub

Sử dụng mã VBA được tìm thấy trên Internet

Bây giờ bạn đã tìm thấy một số mã VBA có khả năng giải quyết vấn đề tự động hóa Excel của mình, bạn sẽ làm gì với nó?

Bắt đầu Tự động hóa Excel

Bạn mới làm quen với VBA và không biết bắt đầu từ đâu? . Bài viết này sẽ không làm bạn choáng ngợp với những thuật ngữ lập trình hoa mỹ, vì nó cung cấp cho bạn một cách tiếp cận đơn giản và dễ hiểu đối với những điều cơ bản mà tôi ước mình biết khi cố gắng dạy bản thân cách tự động hóa các tác vụ trong Excel bằng VBA Macros

Ngoài ra, nếu bạn chưa xem qua tính năng tự động hóa mới nhất của Excel có tên là Power Query, thì tôi cũng đã tổng hợp hướng dẫn dành cho người mới bắt đầu để tự động hóa bằng tính năng Power Query của Excel. Tính năng Excel tích hợp ít được biết đến này cho phép bạn tự động hợp nhất và xóa dữ liệu mà không cần mã hóa

Làm cách nào để tôi sửa đổi điều này để phù hợp với nhu cầu cụ thể của mình?

Rất có thể bài đăng này không cung cấp cho bạn câu trả lời chính xác mà bạn đang tìm kiếm. Tất cả chúng ta đều có những tình huống khác nhau và không thể tính đến mọi nhu cầu cụ thể mà một người có thể có. Đó là lý do tại sao tôi muốn chia sẻ với bạn. Hướng dẫn của tôi để có được giải pháp cho vấn đề của bạn NHANH CHÓNG. Trong bài viết này, tôi giải thích các chiến lược tốt nhất mà tôi đã nghĩ ra trong nhiều năm để có câu trả lời nhanh cho các vấn đề phức tạp trong Excel, PowerPoint, VBA, bạn có thể đặt tên cho nó.  

Tôi thực sự khuyên bạn nên xem hướng dẫn này trước khi hỏi tôi hoặc bất kỳ ai khác trong phần nhận xét để giải quyết vấn đề cụ thể của bạn. Tôi có thể đảm bảo rằng 9 trên 10 lần, một trong những chiến lược của tôi sẽ mang lại cho bạn (những) câu trả lời mà bạn đang cần nhanh hơn thời gian tôi phải quay lại với bạn bằng một giải pháp khả thi. Tôi cố gắng hết sức để giúp đỡ mọi người, nhưng đôi khi tôi không có thời gian để trả lời câu hỏi của mọi người (dường như không bao giờ có đủ thời gian trong ngày. )

Tính năng bảo vệ trang tính được thiết kế để hạn chế người dùng sửa đổi nội dung và cấu trúc của trang tính. Khi một trang tính được bảo vệ, người dùng chỉ có thể chỉnh sửa nội dung của các ô được đánh dấu rõ ràng là đã mở khóa. Ngoài ra, mô hình cung cấp các tùy chọn bảo vệ cho phép bạn chọn một bộ lệnh sẽ khả dụng cho người dùng khi bật tính năng bảo vệ

Bạn có thể thực thi bảo vệ trang tính có hoặc không có mật khẩu và bạn luôn có thể bỏ bảo vệ sổ làm việc khi cần. Bạn cũng có thể cho phép người dùng xóa bảo vệ bằng cách nhập đúng mật khẩu

Chức năng bảo vệ bảo vệ nội dung trang tính khỏi bị chỉnh sửa. Nếu bạn cần bảo vệ tài liệu để chỉ có thể mở nó sau khi cung cấp mật khẩu cho nó, bạn nên mã hóa nó. Chức năng mã hóa hiện không được hỗ trợ trong SpreadProcessing và bạn có thể bỏ phiếu cho việc triển khai nó bằng cách sử dụng yêu cầu công khai cho nó

Cách bảo vệ và bỏ bảo vệ một trang tính

Lớp Worksheet hiển thị một phương thức Protect() có hai tham số. chuỗi mật khẩu và các tùy chọn bảo vệ trang tính

Ví dụ 1 đặt thuộc tính IsLocked của ô A1 thành false và bảo vệ trang tính bằng mật khẩu và các tùy chọn bảo vệ mặc định. Vì theo mặc định, tất cả các ô đều bị khóa, sau khi trang tính được bảo vệ, người dùng sẽ chỉ có thể chỉnh sửa giá trị trong ô A1 vì nó được đánh dấu rõ ràng là đã mở khóa

ví dụ 1. Bảo vệ một Worksheet

Workbook workbook = new Workbook(); 
Worksheet worksheet = workbook.Worksheets.Add(); 
 
worksheet.Cells[0, 0].SetIsLocked(false); 
 
worksheet.Protect("telerik", WorksheetProtectionOptions.Default); 

Sử dụng phương thức Unprotect(string) của lớp Worksheet để loại bỏ lớp bảo vệ. Phương thức trả về một giá trị Boolean cho biết trang tính có được bảo vệ thành công hay không

Ví dụ 2 trình bày cách bỏ bảo vệ một trang tính

ví dụ 2. Bỏ bảo vệ một Worksheet

Workbook workbook = new Workbook(); 
Worksheet worksheet = workbook.Worksheets.Add(); 
worksheet.Protect("telerik", WorksheetProtectionOptions.Default); 
 
worksheet.Unprotect("telerik"); 

Tùy chọn bảo vệ

Tính năng bảo vệ trang tính cho phép chỉ định một tập hợp các tùy chọn sẽ khả dụng cho người dùng khi thực thi bảo vệ. Ví dụ: bạn có thể muốn cho phép người dùng chèn và xóa hàng nhưng hạn chế việc chèn và xóa cột

Để đạt được điều đó, bạn cần chuyển một đối tượng WorksheetProtectionOptions làm đối số thứ hai của phương thức Protect()

Ví dụ 3 trình bày cách bảo vệ trang tính bằng WorksheetProtectionOptions

ví dụ 3. Bảo vệ Worksheet với WorksheetProtectionOptions

Workbook workbook = new Workbook(); 
Worksheet worksheet = workbook.Worksheets.Add(); 
WorksheetProtectionOptions options = new WorksheetProtectionOptions(allowInsertRows: true, allowDeleteRows: true); 
worksheet.Protect("telerik", options); 

Lớp WorksheetProtectionOptions hiển thị các thuộc tính sau để bạn có thể kiểm soát những hành động mà người dùng có thể thực hiện

Bạn sẽ sửa đổi cài đặt trang tính của mình như thế nào trước khi in?

Mẹo. Để thực hiện thay đổi thiết lập trang, trên tab Xem trước bản in, trong nhóm In, bấm vào Thiết lập trang, rồi chọn các tùy chọn mà bạn muốn trên Trang, Lề, Đầu trang/Chân trang hoặc Trang tính . .

Tầm quan trọng của việc áp dụng bảo vệ trang tính cho trang tính của chúng ta là gì?

Bằng cách bảo vệ sổ làm việc Excel, bạn có thể ngăn người dùng khác vô tình xóa các công thức hoặc trang tính quan trọng. Bảo vệ sổ làm việc đặc biệt hữu ích khi làm việc với các mẫu, vì điều này có thể giúp ngăn chặn việc vô tình xóa hoặc sử dụng sai mục đích