删除受保护工作表中的最后一行

时间:2015-10-23 16:54:08

标签: excel vba excel-vba

我已经为教师在校园内使用创建了一份提案预算编制表。电子表格包含许多适当的公式和函数来计算工资和条纹,这些公式和功能已受到保护,因此教师无法调整计算。

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

为了解决保护问题,我在论坛上找到了一个允许工作表不受保护的宏代码,在表的末尾插入一行,然后重新保护它。这是代码:

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

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

1 个答案:

答案 0 :(得分:1)

试试这个,我假设你的桌子在A44单元格开始,如下图所示 enter image description here

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