删除受保护表格的最后一行
我已经创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