Hi Ninjadoodle
BillAlex 's way to do it works great.
But, if you only want to change the tile's frame, not position, you can do this:
Add 4 global variables: SwapNumber1, SwapNumber2, TileName1, TileName2.
When you select a tile (sub event: if counter is 0) => Set SwapNumber1 to tile's UID, set TileName1 to tile's name, add 1 to counter
(sub event: if counter is 1) => Set SwapNumber2 to tile's UID, set TileName2 to tile's name.
(sub sub event: select tile by UID (SwapNumber1)=> set Self.Name to TileName2, set animation frame to Self.Name
sub sub event: select tile by UID (SwapNumber2)=> set Self.Name to TileName1, set animation frame to Self.Name, set counter to 0.
Hope this helps.