Pick List Issues

Pick List Issues

I have created a pick list that looks at a table in a sheet, it selects the column I want fine.  Various issues have come along.

The option to sort the pick list is simplistic, only allows an ascending alphabetical sort.  Bad luck if you want it descending.  I however, want the list to be in most selected order at the top to save having to scroll all the way to the bottom.  There is no way to define the sort column in the table or range selected.

My table where I am using the pick list has a date/time column (Table1), so in the table where the selection are coming from (Table2), I added an Xlookup on each row to look up its name:
=XLOOKUP(J4;Table1[[#Data];[name]];Table1[[#Data];[Date]];DATE(1970;1;1);0;-1)
J4 being the cell with the item name - 4 being the row, would be J5 next etc.
It will either get the first date for the named item working from the bottom of the table or return 1/1/1970

So the change event in VBA then is called to sort Table2 by Date descending so the most up to date item is at the top.  All good that works.  The pick list does not refresh, it has the same sort order it originally picked.  If an item is added to Table2 it seems to refresh the pick list.

So the first question is apart from the ability to have better sort in the pick list from the start, is, why when Table2 is sorted via VBA does the pick list not update.  If I sort Table2 manually on data filter sort - although it shows no changes as already sorted, the pick list will update, so how do I address the pick list from VBA and call a refresh on it?

Originally I had Table2 in a separate worksheet, but I could not get VBA to address Table2 across the worksheets to sort it when Table1 in the sheet was updated.

Hopefully there are a few VBA work arounds to resolve this, but ultimately I would love to see enchantments to the pick list to enable better sorting in the first place to prevent this VBA nonsense.  Maybe doing things wrong, but I was unable to get RANGE in VBA to use the defined Table names too RANGE("TABLE2") -  so have had to use the manually entered cell ranges, which if you then move Table2 in the sheet, it does not update the references in VBA.  All a bit of a mess.

If anyone can follow all this and shed some light on a path to resolve it, I'd love to see what magic can help.
Thanks