我的公司只使用MS Office 2003产品,所以我必须坚持下去。由于我的工作性质,我需要使用很多“复制和粘贴”功能。源数据主要来自网站,我将数据粘贴到Excel中的单元格中。问题是剪贴板保持源格式化,当我粘贴它时它反映在单元格上。每次用户复制和粘贴时,通过选择“粘贴为文本”选项来删除源格式非常麻烦。所以我决定使用Macro。当我尝试从网站复制并粘贴到Excel时,宏工作正常,但是当我从Excel复制并粘贴到同一工作表时,它会抛出错误。
这是我用于从网站复制和粘贴到没有源格式的Excel的代码。
Sub Paste_without_any_formatting()
ActiveSheet.PasteSpecial Format:="Text"
End Sub
我想添加另一个代码,用于从excel复制和粘贴到这样的工作表。
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
如何将这两个代码放在一起?当我按Ctrl + V时,我想神奇地发生这些。任何人都可以帮助我吗?
答案 0 :(得分:2)
这是实现它的最简单方法。
Sub Sample()
On Error GoTo Whoa1
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Exit Sub
Pastetext:
On Error GoTo Whoa2
ActiveSheet.PasteSpecial Format:="Text"
Exit Sub
Whoa1:
Resume Pastetext
Whoa2: '<~~ If both Paste method fails then show message. Ex: Image in Clipboard
MsgBox err.Description
End Sub
还有一种方法可以确定剪贴板数据类型,然后相应地粘贴。