我正在尝试将用户复制的选择(行军蚂蚁,不是黑边)粘贴为链接,但它不会给我任何东西,但值。我已经尝试了多种方法,例如:
this_ws.Activate
this_ws.Range("A1").Select
ActiveSheet.PasteSpecial Link:=True
它确实粘贴,并且没有错误,但它总是给我值而不是链接。
我的最终目标是将用户提供的选择转换为常规范围。到目前为止,我的研究和实验表明,明智地做到这一点(对于“sane”的某些值)的唯一方法是将链接粘贴到临时选项卡中,然后收集必要的信息以从这些链接中创建等效范围。(其他更令人头疼的方法涉及 DataObject 或监视工作表以进行选择更改。)
更新:根据微软的说法,“如果源数据不适合链接或源应用程序不支持链接,则忽略此参数。” 那么为什么源数据不“合适”呢?它只是另一个启用宏的工作簿,处于打开状态并在复制的选择中包含字符串和整数。
Update2:为了澄清,我希望复制(在 VBA 中)您在手动复制时从 GUI 获得的功能,然后单击“选择性粘贴”对话框左下角的“粘贴链接”按钮. 如果我可以在用户提供的 VBA 副本上粘贴链接,我知道我可以完成剩下的工作。但我并不特别关心剪贴板是否参与此过程;我只希望用户能够选择,在我的工具工作簿上执行 ctrl-c、alt-tab,然后点击在他/她刚刚指定的范围内运行宏的按钮。