以下代码仅适用于“粘贴值”事件。当值在同一张纸之间移动时,它可以正常工作。但是,如果我从不同的工作簿复制值并运行宏,Excel会抱怨数据超出范围。如何制作一个在整个excel程序中运行的全局粘贴值宏?
Sub PasteValOnly()
'
' PasteValOnly Macro
' pastes values only
'
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
答案 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