如何用vba将剪贴板的数据粘贴到excel单元格中?

当剪贴板中有数据时,无论是文本型的数据还是图形,都可以使用Worksheet.Paste方法,它有两个参数

Sub Paste ( _
	Destination As Object, _
	Link As Object _
)

其中 Destination 参数为要粘贴的单元格区域,Link 参数为是否建立与粘贴源的链接。

如果剪贴板中没有数据时,使用Worksheet.Paste方法会报错。

代码如下:

Sub QQ1722187970()
    Dim oWK As Worksheet
    Set oWK = Sheet1
    Dim oRng As Range
    Set oRng = Sheet1.Range("a1")
    oWK.Paste oRng
End Sub

当然还可以使用Range对象的PasteSpecial方法,代码如下:

Sub QQ1722187970()
    Dim oWK As Worksheet
    Set oWK = Sheet1
    Dim oRng As Range
    Set oRng = Sheet1.Range("a1")
    oRng.PasteSpecial
End Sub

这里要特别指明的是,Range对象的PasteSpecial方法不能带任何参数,才能粘贴图片,否则会报错。

       

发表评论