Questão Como obter referência para a única tabela de dados na planilha ativa


Estou adicionando uma nova linha à tabela que tenho na planilha ativa usando o seguinte método:

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

O problema é que é dependente do nome da tabela "MyDataTable1". Se eu mudar a folha ativa para aquela em que o nome da tabela é "MyDataTable2", eu tenho que mudar meu código também. Existe alguma maneira de encontrar a tabela na planilha ativa automaticamente para que eu não precise alterar o código toda vez que alternar entre as planilhas?


1


origem




Respostas:


Você poderia fazer algo parecido com esse pseudo código

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)

Ou você pode percorrer todos os controles com o seguinte (NÃO testado)

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 

0