首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Excel VBA宏中组合两种类型的粘贴

在Excel VBA宏中组合两种类型的粘贴
EN

Stack Overflow用户
提问于 2021-11-16 18:40:03
回答 1查看 290关注 0票数 0

我希望将Excel中的默认粘贴设置为仅值或匹配目标格式。我知道如何为每个宏单独创建一个宏,但只有当您从工作簿中的单元格中复制时,xlPasteValues才能工作,而匹配目标格式则不起作用(但它在从网页复制时确实有效,这正是我想要的)。我的目标是创建一个将两者结合在一起的VBA宏,因此我只需要使用一个命令,不管我是从单元格还是网页复制,它都会粘贴,而不需要任何源格式。

伪码:

代码语言:javascript
运行
复制
Sub SuperPaste()
     if clipboard source is a cell (or vice versa, whatever is easier):
          Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
               :=False, Transpose:=False
     else:
          ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
               False, NoHTMLFormatting:=True
(maybe some error handling)
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-16 20:10:24

下面是您想要做的事情:

代码语言:javascript
运行
复制
Sub SuperPaste()
     
''' Clipboard source is a current-instance excel cut:
''' - only option is to paste all (or throw an error msg)
    If Application.CutCopyMode = xlCut Then
        ActiveSheet.Paste
        
''' Clipboard source is a current-instance excel copy:
''' - paste values only (keeps destination formats)
''' - am pasting to the activecell to avoid mis-matched source and destination selections
    ElseIf Application.CutCopyMode = xlCopy Then
        ActiveWindow.ActiveCell.PasteSpecial xlPasteValues
            
''' Clipboard is empty: report to user
    ElseIf Application.ClipboardFormats(1) = -1 Then
        MsgBox "Nothing has been copied."

''' Clipboard source is another application (including another instance of excel):
''' - paste text (same as paste values for excel)
''' - still retains numbers (if tabbed or tabled apart) from word, html, another instance of excel, etc.
    Else: ActiveSheet.PasteSpecial Format:="Text"
    End If

End Sub

备注:

  1. 您可以通过声明Lib函数来处理剪贴板

,从而完成更复杂的事情。

然而,上述

  1. 适用于您希望保留目标格式的99.9%的副本类型--

编辑:添加了对空剪贴板的处理

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69994482

复制
相关文章

相似问题

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