Clase Watch (Excel VBA)

La clase Watch representa un rango del que se realiza un seguimiento cuando se actualiza la hoja de cálculo.

Set

Para usar una variable de clase Watch, primero debe ser instanciado, por ejemplo

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

Los siguientes procedimientos se pueden usar para establecer variables de clase Watch : Watches.Item, Watches.Add y Application.Watches

For Each

A continuación, se muestra un ejemplo de cómo procesar los elementos Watch en una colección.

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

Delete

Elimina el objeto.

Application.Watches(1).Delete

Parent

Devuelve el objeto primario del objeto especificado. Solo lectura.

Source

Devuelve un valor de tipo Variant que representa el nombre exclusivo que identifica los elementos que tienen en la propiedad SourceType un valor xlSourceRange, xlSourceChart, xlSourcePrintArea, xlSourceAutoFilter, xlSourcePivotTable o xlSourceQuery.

Valores posibles son xlSourceAutoFilter - Un rango de Autofiltro, xlSourceChart - Un gráfico, xlSourcePivotTable - Un informe de tabla dinámica, xlSourcePrintArea - Rango de celdas seleccionadas para imprimir, xlSourceQuery - Una tabla de consulta (rango de datos externos), xlSourceRange - Un rango de celdas, xlSourceSheet - Una hoja de cálculo completa, xlSourceWorkbook - Un libro.

Si la propiedad SourceType se establece en xlSourceRange, esta propiedad devuelve un rango, que puede ser un nombre definido. Si la propiedad SourceType se establece en xlSourceChart, xlSourcePivotTable o xlSourceQuery, esta propiedad devuelve el nombre del objeto, por ejemplo un nombre de gráfico, informe de tabla dinámica o tabla de consulta.

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

Watches.Add

Agrega un intervalo al que se realiza el seguimiento cuando se actualiza la hoja de cálculo.

Sintaxis : expression.Add (Source)

Source: Origen correspondiente al rango.

 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

Devuelve un valor Long que representa el número de objetos de la colección.

Dim lngCount As Long
lngCount = Application.Watches.Count

Watches.Delete

Elimina el objeto.

Application.Watches.Delete

Watches.Item

Devuelve un solo objeto de una colección.

Sintaxis : expression.Item (Index)

Index: Nombre o número de índice del objeto.

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

Watches.Parent

Devuelve el objeto primario del objeto especificado. Solo lectura.