Classe Watch (Excel VBA)

A classe Watch representa um intervalo que é rastreado quando a planilha é recalculada. O objeto Watch permite que os usuários verifiquem a precisão de seus modelos e problemas de depuração encontrados.

Set

Para usar uma variável de classe Watch, ela primeiro precisa ser instanciada por exemplo

Dim wtc as Watch
Set wtc = Application.Watches(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo Watch: Watches.Item, Watches.Add e Application.Watches

For Each

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

Dim wtcWatche As Watch
For Each wtcWatche In Application.Watches
	
Next wtcWatche

Delete

Exclui o objeto.

Application.Watches(1).Delete

Parent

Retorna o objeto pai do objeto especificado. Somente leitura.

Source

Retorna um valor que representa o nome exclusivo que identifica itens que possuem um valor de propriedade SourceType igual a xlSourceRange, xlSourceChart, xlSourcePrintArea, xlSourceAutoFilter, xlSourcePivotTable ou xlSourceQuery.

Os valores possíveis são xlSourceAutoFilter - Um intervalo de AutoFiltro, xlSourceChart - Um gráfico, xlSourcePivotTable - Um relatório de tabela dinâmica, xlSourcePrintArea - Um intervalo de células selecionado para impressão, xlSourceQuery - Uma tabela de consulta (intervalo de dados externos), xlSourceRange - Um intervalo de células, xlSourceSheet - Uma planilha inteira, xlSourceWorkbook - Uma pasta de trabalho.

Se a propriedade SourceType estiver definida como xlSourceRange, ela retornará um intervalo, que pode ser um nome definido. Se a propriedade SourceType estiver definida como xlSourceChart, xlSourcePivotTable ou xlSourceQuery, ela retornará o nome do objeto, como um nome de gráfico, de tabela de consulta ou de relatório de tabela dinâmica.

Dim xstSource As XlSourceType
xstSource = Application.Watches(1).Source

Watches.Add

Adiciona um intervalo que é rastreado quando a planilha é recalculada.

Sintaxe : expression.Add (Source)

Source: A fonte do intervalo.

 With Application 
 .Range("A1").Formula = 1 
 .Range("A2").Formula = 2 
 .Range("A3").Formula = "=Sum(A1:A2)" 
 .Range("A3").Select 
 .Watches.Add Source:=ActiveCell 
 End With

Watches.Count

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

Dim lngCount As Long
lngCount = Application.Watches.Count

Watches.Delete

Exclui o objeto.

Application.Watches.Delete

Watches.Item

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

Sintaxe : expression.Item (Index)

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

Dim wtcItem As Watch
Set wtcItem = Application.Watches(Index:=1)

Watches.Parent

Retorna o objeto pai do objeto especificado. Somente leitura.