title: Pasting a control-c selection as links with VBA
body: <p>I'm trying to paste a user-copied selection (marching ants, not black-bordered) as links, but it won't give me anything but values. I've tried this a number of ways, for example:</p>
  
  <pre><code>     this_ws.Activate
       this_ws.Range("A1").Select
       ActiveSheet.PasteSpecial Link:=True
  </code></pre>
  
  <p>It does paste, and without error, but it invariably gives me values instead of links.</p>
  
  <p>My ultimate goal is to convert a user-provided selection into a regular range. My research and experiments so far imply the only way to sanely do this (for certain values of "sane") is to paste as links in a temporary tab and then harvest the information necessary to create an equivalent range from those links. (Other, more headache-inducing ways involve DataObject or <a href="https://stackoverflow.com/questions/12117040/can-i-get-the-source-range-of-excel-clipboard-data">monitoring a sheet for selection changes</a>.) </p>
  
  <p>Update: According to Microsoft, <i>"If the source data isn't suitable for linking or the source application doesn't support linking, this parameter is ignored."</i> So why would the source data not be "suitable"? It's just another macro-enabled workbook, left open and with strings and ints in the copied selection.</p>
  
  <p>Update2: To clarify, I am looking to duplicate (in VBA) the functionality you get from the GUI when you do a manual copy and then click the "Paste Link(s)" button in the lower left corner of the Paste Special dialog box. If I can Paste Links on a user-provided copy from VBA, I know I can do the rest. But I don't especially care if the clipboard is involved or not in this process; I just want the user to be able to select, do a ctrl-c, alt-tab over to my tool workbook, then hit a button that runs a macro on the range he/she just specified.</p>