在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中键入内容,然后在保护表单之前清除单元格,否则将会丢失公式。
希望这可以帮助