提问人:Ramu 提问时间:10/10/2023 最后编辑:tallerRamu 更新时间:10/10/2023 访问量:23
选项卡re_protection“设置列格式”和“设置行格式”、自动过滤器的问题
Tabs re_protection issue on Format columns & Format Rows, Auto filter
问:
使用VBA重置当前文件的密码时,一旦重新保护“格式化列和格式化行,自动过滤”选项将被禁用。我们不需要所有文件的这些optons,基于要求将启用这些选项&如果我们与用户共享的密码将在该时间通过宏重置密码,则这些选项将被禁用。任何人都可以为我的查询提供解决方案。谢谢。
Sub Main_Protect()
Dim PWD As String
Dim WB As Workbook
Dim ws As Worksheet
Dim rng As Range, cell As Range
Dim sht As Worksheet
PWD = ThisWorkbook.Sheets("Main").Range("D1").Value
'If PWD = "" Then
'PWD = InputBox("Please Enter the password")
'End If
Set WB = Application.Workbooks.Open(ThisWorkbook.Sheets("Main").Cells(13, 1))
' Loop through all sheets in the workbook
LR = ThisWorkbook.Sheets("Tab").Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
Set rng = ThisWorkbook.Sheets("Tab").Range("A2:A" & LR)
For Each cell In rng
If cell > 0 Then
WB.Activate
Set ws = WB.Sheets(cell.Value)
ws.Protect PWD,Contents:=True, UserInterfaceOnly:=True
ThisWorkbook.Sheets("Tab").Range("B" & ThisWorkbook.Sheets("Tab").Cells(Rows.Count, 2).End(xlUp).Row + 1).Value = "Yes"
End If
Next cell
MsgBox "Done"
WB.Save
WB.Close
End Sub
是否有任何选项,在以前的相同选项上启用的选项在保护后应该可用。
答:
0赞
taller
10/10/2023
#1
要在保护工作表时启用预期功能,请相应地指定相关参数。
ws.Protect PWD, Contents:=True, UserInterfaceOnly:=True _
, AllowFormattingColumns:=True, AllowFormattingRows:=True _
, AllowFiltering:=True
Microsoft 参考文档:
评论
0赞
Ramu
10/12/2023
谢谢兄弟。我有这个想法,但我的条件是对于所有文件,不需要启用这些选项,只针对少数文件。如果我们在重置密码时应用此行,如果该文件不需要这些选项,它也将启用正确。
评论