Ejecutar una Macro sin estar en la hoja.
Estoy intentando activar una macro mientras estoy en una hoja de cálculo diferente. He programado una macro para que, cuando selecciono una opción de una lista desplegable, actualice un campo de filtro de tabla dinámica en otra hoja. El problema es que tengo que estar en la hoja activa para que funcione. Tengo el siguiente código, si alguien pudiera ayudarme, gracias.
Sub FilterPageValue()
Dim pvFld As PivotField
Dim strFilter As String
Set pvFld = ActiveSheet.PivotTables("PivotTable3").PivotFields("Reporting entity")
strFilter = ActiveWorkbook.Sheets("Sheet1").Range("b2").Value
pvFld.CurrentPage = strFilter
End Sub
davy.ai
La razón por la que la macro solo funciona en la hoja activa es porque se utiliza el objeto
ActiveSheet
para hacer referencia a la Tabla Dinámica y al Campo de Tabla Dinámica. Para activar la macro mientras se encuentra en una hoja diferente, es necesario utilizar referencias específicas a la Tabla Dinámica y al Campo de Tabla Dinámica en la hoja deseada.Aquí tienes un código actualizado con referencias específicas a las hojas:
En este código actualizado, “Hoja2” es la hoja donde se encuentra la Tabla Dinámica, y “TablaDinámica3” es el nombre de la Tabla Dinámica. Asegúrate de actualizar estas referencias para que coincidan con tu libro de trabajo específico.