Classe ListObjects (Excel VBA)

Uma coleção de todos os objetos ListObject em uma planilha. Cada objeto ListObject representa uma tabela na planilha. Para usar uma variável de classe ListObjects, ela primeiro precisa ser instanciada por exemplo


Dim los as ListObjects
Set los = ActiveSheet.ListObjects

For Each

Aqui está um exemplo de processamento dos itens ListObjects em uma coleção.


Dim lstobj As ListObject
For Each lstobj In Application.ListObjects
	
Next lstobj

Add

Cria um novo objeto de lista.

Quando a lista tiver cabeçalhos, a primeira linha de células será convertida em Text, se ainda não estiver definida como texto. A conversão será baseada no texto visível na célula. Isso significa que, se existir um valor de data com um formato Date que é alterado de acordo com o local, a conversão em uma lista poderá produzir resultados diferentes, dependendo do local do sistema atual. Além disso, se duas células na linha de cabeçalho contiverem o mesmo texto visível, será acrescentado um Integer incremental para tornar cada cabeçalho de coluna exclusivo.

Add (SourceType, Source, LinkSource, XlListObjectHasHeaders, Destination, TableStyleName)


Dim lstobj As ListObject
Set lstobj = ActiveSheet.ListObjects.Add

Arguments

Optional arguments

Os seguintes argumentos são opcionais

SourceType (XlListObjectSourceType) - Indica o tipo de fonte da consulta.


Os valores possíveis são

xlSrcExternal Fonte de dados externa (site do Microsoft SharePoint Foundation).
xlSrcModel Modelo do PowerPivot
xlSrcQuery Consultar
xlSrcRange Intervalo
xlSrcXml XMLXML

Source (Range) - Quando SourceType = xlSrcRange: um objeto Range que representa a fonte de dados. Se for omitido, a fonte será padrão para o intervalo retornado pelo código de detecção do intervalo de lista. Quando SourceType = xlSrcExternal: uma matriz de valores de cadeia de caracteres especificando uma conexão com a fonte, contendo os seguintes elementos: 0 - URL para o site do SharePoint.

LinkSource (Boolean) - Indica se uma fonte de dados externos deve ser vinculada ao objeto ListObject. Se SourceType for xlSrcExternal, o padrão será true. Inválido se SourceType for xlSrcRangee retornará um erro se não for omitido.

XlListObjectHasHeaders (XlYesNoGuess) - Uma constante XlYesNoGuess que indica se os dados que estão sendo importados têm rótulos de coluna. Se a fonte não contiver cabeçalhos, o Excel gerará cabeçalhos automaticamente. O valor padrão é xlGuess.

Os valores de retorno possíveis são xlGuess - O Excel determina se existe um cabeçalho, e onde ele está, se houver um, xlNo - Padrão. O intervalo inteiro deve ser classificado, xlYes - O intervalo inteiro não deve ser classificado.

Destination (XlListObjectSourceType) - Um objeto Range especificando uma referência de célula única como o destino para o canto superior esquerdo do novo objeto List. Se o objeto Range se refere a mais de uma célula, um erro é gerado. O argumento Destination deve ser especificado quando SourceType é definido como xlSrcExternal. O argumento Destination será ignorado se SourceType for definido como xlSrcRange. O intervalo de destino deve estar na planilha que contém a coleção ListObjects especificada por expressão. Novas colunas serão inseridas no destino para ajustar a nova lista. Portanto, os dados existentes não serão substituídos.


Os valores possíveis são

xlSrcExternal Fonte de dados externa (site do Microsoft SharePoint Foundation).
xlSrcModel Modelo do PowerPivot
xlSrcQuery Consultar
xlSrcRange Intervalo
xlSrcXml XMLXML

TableStyleName (String) - O nome de um TableStyle; por exemplo, "TableStyleLight1".

Count

Retorna um valor Integer que representa o número de objetos na coleção.


Dim lngCount As Long
lngCount = ActiveSheet.ListObjects.Count

Item

Retorna um único objeto de uma coleção.

Item (Index)

Index: O nome ou número de índice do objeto.


Dim lstobjItem As ListObject
Set lstobjItem = ActiveSheet.ListObjects(Index:=1)