首页 > 编程问答 >即使在保存后也取消对工作表的保护

即使在保存后也取消对工作表的保护

时间:2024-06-03 21:03:55浏览次数:28  
标签:excel vba

请帮助我,10 张纸中有 2 张一直处于保护状态。我想让它们完全不受保护,永远不受保护。我的代码如下 NB:这两张纸是 Recon 2103 & Recon 2123:

Private Sub quickProt()
Private Sub quickProt()

ActiveWorkbook.Worksheets 中的每个工作表
    If Sheet.Name = "Master" Or Sheet.Name = "GL" Or Left(Sheet.Name, 2) = "BE" Or Sheet.Name = "Log" Or Sheet.Name = "ZAA110" Or Sheet.Name = "Recon 2103" Or Sheet.Name = "Recon 2123" Then
        Sheet.Unprotect ("SSDPWD@123")
        'Sheet.Protect ("SSDPWD@123")
    否则
        Sheet.Protect ("SSDPWD@123")
    如果结束
下一个工作表

结束子

如上所示,我在列表中添加了两张取消保护的工作表。

如上图所示,我在列表中添加了两个要取消保护的工作表。


的代码的问题在于,它会在循环的每次迭代中取消保护然后再次保护工作表。这意味着即使“Recon 2103”和“Recon 2123”在 If 语句中被取消保护,它们也会在随后的 Else 块中被再次保护。

要使这两张工作表永久不受保护,需要将它们从 If Else 条件中移除,并添加单独的代码行来取消保护它们。

以下是更新后的代码:

Private Sub quickProt()

    Dim sh As Worksheet

    For Each sh In ActiveWorkbook.Worksheets
        If sh.Name = "Master" Or sh.Name = "GL" Or Left(sh.Name, 2) = "BE" Or sh.Name = "Log" Or sh.Name = "ZAA110" Then
            sh.Unprotect ("SSDPWD@123")
            'Sheet.Protect ("SSDPWD@123") '这行代码应该是多余的,因为只想取消保护某些工作表。
        Else
            sh.Protect ("SSDPWD@123")
        End If
    Next sh

    '单独取消保护 "Recon 2103" 和 "Recon 2123"
    Sheets("Recon 2103").Unprotect ("SSDPWD@123")
    Sheets("Recon 2123").Unprotect ("SSDPWD@123")

End Sub

这段代码首先会像的原始代码一样循环遍历所有工作表,对大多数工作表进行保护。然后,它会明确地取消保护“Recon 2103”和“Recon 2123”,从而确保它们保持不受保护状态。

标签:excel,vba
From: 78570431

相关文章

  • 使用 Python 处理 Excel 表格数据的实用技巧
    简介在日常工作中,处理Excel表格数据是一项常见的任务。Python提供了丰富的库和工具,能够帮助我们高效地处理Excel数据。本篇博客将介绍如何使用openpyxl库来读取Excel表格并进行数据处理,同时展示一个实际案例,说明如何从Excel表格中提取数据并转换为JSON格式进行存......
  • Excel+Python:飞速搞定数据分析与处理 (费利克斯•朱姆斯坦)阅读与关键技术分享
    书:pan.baidu.com/s/1owku2NBxL7GdW59zEi20AA?pwd=suov​提取码:suov我的阅读笔记:数据导入与导出: 使用Python的pandas库可以轻松地将数据从Excel导入到数据框中,并进行各种数据转换和清理。同样,你也可以将Python中的处理结果导出到Excel文件中。数据清理: 利用Python的pandas......
  • 分享一个自制 Excel 转 Unity ScriptableObject 工具
    视频演示链接:https://www.bilibili.com/video/BV1Nw4m1q7qt/资源文件:https://github.com/asyaB404/ExcelToScriptableObject上网找了半天都找不到满意的,所以就自己写了一个本人菜鸟一枚,第一次分享自己的成果,有什么问题或者改进的方式请立即联系我工具包含一个名为Excelabl......
  • 利用 word VBA 将投标文件偏离参数表列数据拷贝至技术偏差表中
    使用vba将正偏离参数表的第一列信息复制粘贴至对应的技术偏离表的第4列中。需要同时打开两个word文件,在技术偏差表中打开VBE(可以用ctrl+f11快捷键),插入模块。忽略格式的方式,SubCopyDataToTable()Windows("正偏离参数表.docx").ActivateFori=1ToActiveDoc......
  • 读取Excel格式测试用例
    测试用例编写测试用例编写格式(个人习惯)测试用例名称请求方法接口路由请求参数请求体断言方法断言信息titlemothodrouterparbodyassert_mothodasserted测试用例一GET/api/test{'id':'637c79c9d055780046de5593'}......
  • 读取Excel格式测试用例
    测试用例编写测试用例编写格式(个人习惯)测试用例名称请求方法接口路由请求参数请求体断言方法断言信息titlemothodrouterparbodyassert_mothodasserted测试用例一GET/api/testtext"errorCode":0测试用例一(登录)POST/api/login/testtext"er......
  • python对excel文件中指定表格的指定列数据进行去重复操作。
    importpandasaspd#读取Excel文件df_all=pd.read_excel('域名管理系统.xlsx',sheet_name=None,engine='openpyxl')#确保'01流水'表存在if'01流水'indf_all:#提取第1列第2行至第1000行的数据并去重df_two=df_all['01流水']un......
  • 自动化办公02 用openpyxl库操作excel.xlsx文件(新版本)
    目录一、文件读操作二、文件写操作三、修改单元格样式openpyxl是一个处理Excel表格的第三方库。openpyxl库可以处理Excel2010以后的电子表格格式,包括:xlsx/xlsm/xltx/xltm。openpyxl教程一、文件读操作工作簿(workbook):excel文件工作表(worksheet):工作簿中的每......
  • plsql中导入excel数据
    方法一:1、点击“工具”—“ODBC导入器…”菜单,打开导入功能 2、选择要连接类型和导入的Excel文件 3、选择所要导入数据所在的“Sheet”表 4、根据Sheet表结构创建Oracle数据表   5、完成数据导入 方法二:1、execl文件另存为“文本文件(制表符分隔)(*.txt)......
  • excel生成insert语句
    在Excel中使用VBA生成INSERT语句通常涉及遍历工作表中的数据,并根据数据内容构造SQL语句。以下是一个基本的示例步骤和VBA代码片段,说明如何实现这一过程: ###步骤说明:1.**打开Excel**,确保你的数据已经整理好,每一列对应数据库表的一个字段。2.**启用开发者选项卡**(如果尚......