Comment obtenir une référence à l'unique datable de la feuille active


1

J'ajoute une nouvelle ligne à la table que j'ai dans la feuille active en utilisant la méthode suivante:

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

Le problème est que cela dépend du nom de la table "MyDataTable1". Si je change la feuille active en celle dont le nom de table est "MyDataTable2", je dois aussi changer mon code. Est-il possible de trouver automatiquement la table dans la feuille active afin que je n'ai pas besoin de changer le code à chaque fois que je bascule d'une feuille à l'autre?

Réponses:


0

Vous pouvez faire quelque chose comme ce pseudo code

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 vous pouvez parcourir toutes les commandes avec ce qui suit (NON testé)

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 
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.