See also the reams of comments above.
Ok, the target of a MERGE statement cannot be a remote table, but the source can be.
I suggest setting up the MERGE statement in a Stored Procedure on the
target (i.e. remote) server. You can then execute it from your source / button press using
exec('your_SP_name') AT linked_server_name
Reference:
EXECUTE (Transact-SQL)[
^]
There is another example here -
The Curse and Blessings of Dynamic SQL[
^] - using parameters with dynamic SQL to run the pass-through query.