Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除工作表MS Excel前显示消息框_Excel_Vba - Fatal编程技术网

删除工作表MS Excel前显示消息框

删除工作表MS Excel前显示消息框,excel,vba,Excel,Vba,我正在寻找一种方法来防止用户删除用作每日报告模板的电子表格。用户应将电子表格的名称更改为今天的日期(即01-14),然后运行宏创建今天工作表的副本并将其重命名为“新的一天”。我需要确保用户不能删除“New Day”工作表,因为它包含公式。我正在与微软Excel 2007合作 谢谢你能提供的任何帮助 在原始纸张上尝试保护纸张 转到查看至保护工作表。确保选中“保护工作表和锁定单元格的内容”,如果不键入密码,工作表将受到保护,但可能会有人通过一些努力取消保护。如果你只是担心他们不小心删除了工作表,这肯

我正在寻找一种方法来防止用户删除用作每日报告模板的电子表格。用户应将电子表格的名称更改为今天的日期(即01-14),然后运行宏创建今天工作表的副本并将其重命名为“新的一天”。我需要确保用户不能删除“New Day”工作表,因为它包含公式。我正在与微软Excel 2007合作


谢谢你能提供的任何帮助

在原始纸张上尝试
保护纸张


转到
查看
保护工作表
。确保选中“保护工作表和锁定单元格的内容”,如果不键入密码,工作表将受到保护,但可能会有人通过一些努力取消保护。如果你只是担心他们不小心删除了工作表,这肯定会有帮助。

今天早上在Excel 2010上对我来说效果很好,只需在2007年进行测试,然后让我知道

将以下内容粘贴到特定的图纸模块中

 Private Sub Worksheet_Activate()
   ThisWorkbook.Protect "yourpassword"
 End Sub

 Private Sub Worksheet_Deactivate()
   ThisWorkbook.Unprotect "yourpassword"
 End Sub
这在Excel 2010中非常有效,允许我编辑和删除单元格/行/列

然后,当您想要复制它时,您需要选择另一张要查看的工作表,因为一旦选择了特定的工作表,它将应用密码,该密码将删除要移动/复制/删除的选择。这也适用于复制的图纸

Sub SomeSub()

    Dim MySheet As Worksheet

    Set MySheet = ThisWorkbook.Sheets("Sheet1")

    'Due to the the Protection of the Sheet while it is active
    'you then need to select another sheet
    ThisWorkbook.Sheets("Sheet2").Select

    'With the Sheet not being active you don't need to unprotect it
    'because the password is not applied.
    MySheet.Copy After:=Sheets(2)

    'Note that the Copied Sheets will be protected with the
    'same password used for the original sheet, and this Only applies with access through VBA.

End Sub

请告诉我是否还有其他需要解释的内容或它是否起作用。

[保护工作表]不会阻止删除工作表。我可以锁定单元格并防止在工作表中编辑,但无法防止工作表本身丢失。你知道有什么事件驱动的方法可以像内置警告消息一样停止进程。保护工作表并不能阻止删除工作表,这对我来说很奇怪,但我已经用几种不同的方法对其进行了测试。每次我都可以删除工作表,即使所有单元格都已锁定并处于可选状态。@Andrew请查看更新后的答案并尝试一下。激活图纸后,它会立即对其进行保护,同时允许对其进行编辑。然后,您只需在复制工作表时取消对其的保护,然后在复制完成后再次对其进行保护。保护工作簿的结构