Làm sao Protect sheet và UnProtect sheet được nhiều sheet ( vẫn giữ nguyên định dạng (1 người xem)

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

congnguyen88

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
22/7/14
Bài viết
355
Được thích
31
Tôi có sử dụng đoạn Code này dùng để Unprotect và Protect nhiều sheet trong cùng 1 lúc. Nhưng khổ nổi code này không giử được định dạng ban đầu, nghĩa là khi tôi Protect sheet tôi chọn vào 2 chổ : Format colum và Format row để vẫn hoạt động được khi sheet bị khóa. sau đó tôi protect cùng 1 lúc 100 sheet bằng Code thì ok, sau đó tôi Unprotect 100 sheet cũng ok luôn, tiếp đến lần thứ 2 tôi Protect sheet bằng Code lần nữa thì Excel lại Reset định dạng mất đi 2 cái Format colum và Format row.vậy làm sao để giữ được định dạng , mong các anh em giúp đở

Public Sub Protect_Sheets()
On Error Resume Next
Dim strPass As String
Dim sht_name As Worksheet
strPass = InputBox("Enter your Password")
For Each sht_name In Worksheets
If Not sht_name.ProtectContents Then
sht_name.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=strPass
End If
Next sht_name
End Sub
'
Public Sub UnProtect_Sheets()
On Error Resume Next
Dim strPass As String
Dim sht_name As Worksheet
strPass = InputBox("Enter your Password")
For Each sht_name In Worksheets
sht_name.Unprotect strPass
Next sht_name
End Sub
 
Tôi có sử dụng đoạn Code này dùng để Unprotect và Protect nhiều sheet trong cùng 1 lúc. Nhưng khổ nổi code này không giử được định dạng ban đầu, nghĩa là khi tôi Protect sheet tôi chọn vào 2 chổ : Format colum và Format row để vẫn hoạt động được khi sheet bị khóa. sau đó tôi protect cùng 1 lúc 100 sheet bằng Code thì ok, sau đó tôi Unprotect 100 sheet cũng ok luôn, tiếp đến lần thứ 2 tôi Protect sheet bằng Code lần nữa thì Excel lại Reset định dạng mất đi 2 cái Format colum và Format row.vậy làm sao để giữ được định dạng , mong các anh em giúp đở


ban thêm đoạn màu xanh nữa xem sao
Public Sub Protect_Sheets()
On Error Resume Next
Dim strPass As String
Dim sht_name As Worksheet
strPass = InputBox("Enter your Password")
For Each sht_name In Worksheets
If Not sht_name.ProtectContents Then
sht_name.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True,
AllowFormattingCells:=True, AllowFormattingColumns:=True Password:=strPass
End If
Next sht_name
End Sub

 
Upvote 0
Tôi có sử dụng đoạn Code này dùng để Unprotect và Protect nhiều sheet trong cùng 1 lúc. Nhưng khổ nổi code này không giử được định dạng ban đầu, nghĩa là khi tôi Protect sheet tôi chọn vào 2 chổ : Format colum và Format row để vẫn hoạt động được khi sheet bị khóa. sau đó tôi protect cùng 1 lúc 100 sheet bằng Code thì ok, sau đó tôi Unprotect 100 sheet cũng ok luôn, tiếp đến lần thứ 2 tôi Protect sheet bằng Code lần nữa thì Excel lại Reset định dạng mất đi 2 cái Format colum và Format row.vậy làm sao để giữ được định dạng , mong các anh em giúp đở

Public Sub Protect_Sheets()
On Error Resume Next
Dim strPass As String
Dim sht_name As Worksheet
strPass = InputBox("Enter your Password")
For Each sht_name In Worksheets
If Not sht_name.ProtectContents Then
sht_name.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:=strPass
End If
Next sht_name
End Sub
'
Public Sub UnProtect_Sheets()
On Error Resume Next
Dim strPass As String
Dim sht_name As Worksheet
strPass = InputBox("Enter your Password")
For Each sht_name In Worksheets
sht_name.Unprotect strPass
Next sht_name
End Sub

Viết thế này xem sao
sht_name.Protect strPass, , , , , , 1, 1
 
Upvote 0

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

Back
Top Bottom