Hi
Maybe specifying the format on the cell might be all that is required. Can you check what the code the macro recorder generates for the same action & emulate it?
Without VBA if the other cell has a header immediately above it (maybe easier to give the source data defined names, not dynamic; so name for header row & data) the tables can be joined in SQL. So, create a pivot table in a separate file using the external data source at the first step of the pivot table wizard, with the main data table as the source data. Follow the wizard and choose the option to edit in MS Query. Then add the table with the cell you want to filter by - either using the toolbar icon to add a table or straight in the SQL. So the SQL might be like
SELECT A.*
FROM yourdatatable A, filtercelltable B
WHERE A.Distric = B.Distric
The completed pivot table can be moved (from the new file it was created in) into the source data file. Now when your filter cell changes, all that is needed is a pivot table refresh. Obviously manually is easy, though also you could have a worksheet change event to do that. Like, sheetwhatever.pivottables(1).pivotcache.refresh
HTH. regards