我在将各种数据源的数据粘贴到Excel中时遇到了一些严重的问题。 Excel往往会试图变得聪明,并会进行各种愚蠢的格式化。我们需要数据作为文本。Excel VBA宏:检查粘贴前的内容(剪贴板?)
问题是我们有很多用户,他们中的很多人对计算机不是很有经验,所以要求他们每次都使用右键单击和“选择性粘贴”不是一种选择。
我在录制使用'Paste Special'和'text'宏并重写ctrl-v以使用此函数的宏中找到了解决方案。它似乎完美地工作,直到我标记了一个单元格,复制它并试图粘贴它。宏坠毁。
所以我需要的是一个可以检查是否我想粘贴一些复制的文本,然后使用该行的函数:
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
False
虽然如果我粘贴标记的单元,我想运行这条线(粘贴只值):
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
我不是很书面的VBA宏为Excel(我希望我永远也不会),因此,如果任何人有几个三分球经历,我会非常感谢。
我Excel2013 Win7上(64)(64位)没有列出Microsoft窗体2.0库。我必须选择工具/参考/浏览...并选择c:/windows/system32/FM20.DLL文件。然后才能够使用数据对象类型。 – Whome 2014-09-10 09:39:52