如何获取活动工作表中唯一数据表的引用

如何获取活动工作表中唯一数据表的引用

我正在使用以下方法向活动工作表中的表添加新行:

ActiveSheet.ListObjects("MyDataTable1").ListRows.Add(AlwaysInsert:=True)

问题是它依赖于表名“MyDataTable1”。如果我将活动工作表更改为表名为“MyDataTable2”的工作表,我也必须更改代码。有没有办法自动在活动工作表中查找表,这样我就不需要每次在工作表之间切换时更改代码?

答案1

你可以做类似这样的伪代码

dim name as string 
name = Screen.ActiveDatasheet.Name

dim dataTableName as string

Select(name)

case "Sheet1"
    dataTableName "MyDataTable1"

end select

ActiveSheet.ListObjects(dataTableName).ListRows.Add(AlwaysInsert:=True)

或者你可以用下面的方法循环遍历所有控件(未经测试)

dim dataTableName as string
dim myControl As Control


For Each myControl In Me.Controls

    If TypeName(myControl) = "DataTable" Then

        dataTableName = myControl.Name

    End If

 Next myControl 

相关内容