在excel中select第一个listRow,运行vba代码

在一个结构化的表中,当表最初创build时,listRow是0.让我们在Sheet1说我们有一个listobject Table1我需要运行下面的代码: ThisWorkbook.Worksheets("Sheet1").ListObjects("Table1").ListRows.Add AlwaysInsert:=True 。 当Table1没有行,并且第一行被点击或join时,或者第一行的任何单元格(标题之后的行)被选中。

我需要这个,因为locking公式单元格在受保护的工作表不工作,除非有至less一个列表行。

问题解释:

在这里输入图像说明

发布聊天讨论:

问题在于您创build表格的方式,添加公式并在删除行后立即保护工作表。 你也试图在受保护的工作表上运行代码。

尝试这个

创build表格

我以Cell A1:C1为例

A.在单元格A1,B1,C1中,键入“Header1,Header2,Header3”

B.下一步selectA1:C1并点击插入| 表

C.点击checkbox“My Table has headers”

D.在单元格C2中,input公式

 =IF([Header1]+[Header2]=0,"",[Header1]+[Header2])` 

E.保护表格,使ColClocking,A / B解锁。

你完成了。

使用此代码添加新行

 Sub Sample() With ThisWorkbook.Worksheets("Sheet1") .Unprotect .ListObjects("Table1").ListRows.Add AlwaysInsert:=True .Protect End With End Sub 

请记住,通过删除行来重置表时,请确保在单元格A2和B2中键入内容,然后在保护表单之前清除单元格,否则将会丢失公式。

希望这可以帮助