You can do something like this before any filtering, if you know what columns to move. Becareful though as the column to delete will move as you insert.
Code:
Sub MoveCol()
Range("c:c").Copy
Range("a:a").Insert shift:=xlLeft
Range("D:D").Delete
End Sub
To make it more robust, you could get the code to 'look' for the header so you move the correct column according to the header.
Please make sure you add examples so that we dont have to waste time recrating data whihc then might be in the wrong format as well