Filtrando uma tabela dinâmica com base no intervalo variável

Meu objetivo é filtrar uma tabela dinâmica usando um intervalo em outra planilha. Esse intervalo extrai dados de uma terceira planilha, que é o despejo de dados que inicia uma série de fórmulas e muda toda vez que é usado.

Eu tenho o código abaixo, mas o que eu posso ver está sendo executado em cada campo da Tabela Dinâmica, comparando-o com o intervalo e removendo o filtro. Eu tenho 32.000 campos que precisam ser verificados para que a macro atual seja muito lenta para usar.

Alguém poderia me ajudar a corrigir o código para que ele filtre apenas com base em valores no intervalo que não estão em branco?

Sub PT()
Dim PT As PivotTable
Dim PI As PivotItem
Set PT = Sheets("Pivot_Sheet").PivotTables("PivotTable2")
With Sheets("Pivot_Sheet").PivotTables("PivotTable2").PivotFields("Product")
.ClearAllFilters
End With
For Each PI In PT.PivotFields("Product").PivotItems
PI.Visible = WorksheetFunction.CountIf(Sheets("Sheet1").Range("J2:J100"),
PI.Name) > 0
Next PI
Set PT = Nothing
End Sub

questionAnswers(1)

yourAnswerToTheQuestion