删除受保护表格的最后一行

我已经创build了一个供教师在校园里使用的提案预算编制表。 电子表格包含许多公式和function,适当地计算工资和边缘,这是受到保护,使教师不能调整计算。

我遇到的第一个问题是允许最终用户input/删除单元格受保护的行,并使公式自动填充,所以我将预算的每个部分都放在一个表中。

为了解决保护方面的问题,我在论坛上发现了一个macros的代码,该表允许该表不受保护,在表的末尾插入一行并重新保护。 这是代码:

Sub AddRowEquipment() ActiveSheet.Unprotect Password:="password" Range("A44").End(xlDown).ListObject.ListRows.Add AlwaysInsert:=False ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="password" End Sub 

我只是想帮助创build一个相反的代码,取消保护工作表,删除已识别表的最后一行,并重新保护它。

试试这个,我假设你的表格从下面的图片A44开始。
在这里输入图像说明

 Sub DeleteRowEquipment() Dim lastrow As Integer lastrow = ActiveSheet.Range("A44").listobject.Range.Rows.Count ActiveSheet.Unprotect Password:="password" Range("A44").listobject.ListRows(lastrow-1).Delete ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="password" End Sub