2012-08-01 217 views
2

我的公司只使用MS Office 2003產品,因此我必須堅持使用它。由於我的工作性質,我需要使用大量的「複製和粘貼」功能。源數據主要來自網站,我將數據粘貼到Excel中的單元格中。問題是剪貼板保持源格式,它反映在單元格上,當我粘貼它。每次用戶複製和粘貼時,通過選擇「粘貼爲文本」選項來刪除源格式是非常麻煩的。所以我決定使用宏。當我嘗試從網站複製和粘貼到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時,我想讓這些發生奇蹟般的發生。誰能幫我?

回答

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 

還有一種方法可以確定剪貼板數據類型,然後相應地粘貼。

+0

我明白了。謝謝! – 2013-02-23 13:19:24