首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改粘贴命令,使其仅粘贴值

更改粘贴命令,使其仅粘贴值
EN

Stack Overflow用户
提问于 2017-01-11 03:02:52
回答 2查看 1.2K关注 0票数 1

我正在创建一个Excel模板,它必须以某种方式格式化,但是使用它的人有一种从网页复制和粘贴格式到单元格的趋势。

我已经编写了一个分配给ctrl+v的宏,以更改粘贴命令,使其只粘贴值,并且我正在尝试使用application.onkey通过shift+insert调用相同的宏,但是,虽然ctrl+v仅粘贴值,但shift+insert仍在执行标准粘贴。

下面是我正在编写的代码:

代码语言:javascript
复制
Public Sub KeepDestinationFormatting()
'
' KeepDestinationFormatting Macro
'
' Keyboard Shortcut: Ctrl+v
'
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
        False
End Sub

Sub KeepDestinationFormatting1()
    Application.OnKey Key:="+{INSERT}", Procedure:="KeepDestinationFormatting"
End Sub

编辑

终于让它按我需要的方式工作了。下面是我使用的代码:

代码语言:javascript
复制
Sub Auto_Open()
    Application.OnKey Key:="+{INSERT}", Procedure:="KeepDestinationFormatting"
End Sub
Sub KeepDestinationFormatting()
    '
    ' KeepDestinationFormatting Macro
    '
    ' Keyboard Shortcut: Ctrl+v
    '
    ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
End Sub
EN

回答 2

Stack Overflow用户

发布于 2017-01-11 03:57:12

宏“不工作”,因为宏尚未运行。宏实际做的是分配组合键来调用过程,但由于您尚未运行宏,因此尚未分配它。将宏重命名为Auto_open,然后测试。

另外,粘贴代码对我不起作用,必须将其更改为

代码语言:javascript
复制
Selection.PasteSpecial Paste:=xlPasteValues

编辑:粘贴整个代码:

代码语言:javascript
复制
Sub Auto_open()
   Application.OnKey Key:="+{INSERT}", Procedure:="KeepDestinationFormatting"
   Application.OnKey Key:="^v", Procedure:="KeepDestinationFormatting"
End Sub

Public Sub KeepDestinationFormatting()
   Selection.PasteSpecial Paste:=xlPasteValues
End Sub

这样,您就可以在宏选项中取消指定热键。

票数 0
EN

Stack Overflow用户

发布于 2017-01-11 04:25:33

我试过你的代码了。它可以在没有Format:="Text"的情况下工作

替换

代码语言:javascript
复制
ActiveSheet.PasteSpecial Format:="Text", Link:=False, DisplayAsIcon:= False

使用

代码语言:javascript
复制
ActiveSheet.PasteSpecial Link:=False, DisplayAsIcon:=False
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41576421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档