excel的全局粘贴值

时间:2012-02-27 18:32:00

标签: excel excel-vba global-variables vba

以下代码仅适用于“粘贴值”事件。当值在同一张纸之间移动时,它可以正常工作。但是,如果我从不同的工作簿复制值并运行宏,Excel会抱怨数据超出范围。如何制作一个在整个excel程序中运行的全局粘贴值宏?

 Sub PasteValOnly()
'
' PasteValOnly Macro
' pastes values only
'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End Sub

2 个答案:

答案 0 :(得分:1)

将宏放在PERSONAL.XLSB中,这样它就会一直有效。

这就是我使用的:

'GENERIC MACROS
Sub GxPasteValuesOnly() 'Assigned to Ctrl+Shift+v
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, skipBlanks:=False, Transpose:=False
End Sub

答案 1 :(得分:0)

试试这个

ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= False