excel的全局粘贴值
问题描述:
以下代码仅适用于仅粘贴值事件。当数值在同一张纸上移动时,它就会起作用。但是,如果我从一个不同的工作簿复制一个值并运行该宏,Excel会抱怨数据超出范围。怎样才能制作一个可以在整个excel程序上运行的全局粘贴值宏?excel的全局粘贴值
Sub PasteValOnly()
'
' PasteValOnly Macro
' pastes values only
'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
答
并把宏观你PERSONAL.XLSB,这样一来就会一直工作。
这是我用:
'GENERIC MACROS
Sub GxPasteValuesOnly() 'Assigned to Ctrl+Shift+v
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, skipBlanks:=False, Transpose:=False
End Sub
答
试试这个
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= False
不知道我理解。如果我创建Book1和Book2,请将代码粘贴到Book2中,复制Book1中的数据,激活Book2并运行代码,然后执行你期望的操作... – assylias 2012-02-27 18:37:34
@assylias:它不会(不知道为什么)如果它不同Excel实例 – 2012-02-27 18:39:56
@SiddharthRout否 - 您不能复制粘贴值的跨实例,您将不得不选择文本(如您在答案中所做的那样)。我认为OP在Excel的同一个实例中意味着2个工作簿。 – assylias 2012-02-27 18:41:45