在最初创建表时的结构化表中,listRow为0。
我们在Sheet1
中说我们有一个列表对象Table1
我需要运行以下代码:
ThisWorkbook.Worksheets("Sheet1").ListObjects("Table1").ListRows.Add AlwaysInsert:=True
。
当Table1
没有行且第一行被单击或介入时,或第一行中的任何单元格(标题后面的行)被选中。
我需要这个,因为受保护工作表中的锁定公式单元格不起作用,除非至少有一个列表行。
问题解释:
答案 0 :(得分:1)
发帖讨论:
问题在于您创建表格的方式,添加公式并在删除行后立即保护工作表。您还试图在受保护的工作表上运行代码。
试试这个
创建表格
我以单元格A1:C1
一个。在单元格A1,B1,C1中,键入“Header1,Header2,Header3”
B中。 Next选择A1:C1并单击Insert |表
℃。单击复选框“我的表有标题”
d。接下来在单元格C2中,键入公式
=IF([Header1]+[Header2]=0,"",[Header1]+[Header2])`
电子。保护纸张,保持Col C锁定和A / B解锁。
你已经完成了。
使用此代码添加新行
Sub Sample()
With ThisWorkbook.Worksheets("Sheet1")
.Unprotect
.ListObjects("Table1").ListRows.Add AlwaysInsert:=True
.Protect
End With
End Sub
请记住,当您通过删除行重置表格时,请确保在单元格A2和B2中键入内容,然后在保护工作表之前清除单元格,否则您将丢失公式。
希望这有帮助