运行时错误' 1004'。在复制/粘贴为图片

时间:2017-01-18 13:32:42

标签: excel vba excel-vba

我收到运行时错误' 1004'在尝试复制一系列单元格并将其粘贴为图片时。

Excel文件的描述:

我有一个包含2张的Excel文件:

  • Sheet1 - 它有一个包含数据的表
  • Sheet2 - 它有一个数据透视表,用于读取Sheet1
  • 中表格中的数据

(我创建这个小Excel仅用于复制目的,因为我在一个更大的Excel文件中存在问题。)

问题描述:

我有一个宏来复制包含数据透视表的单元格范围并将其粘贴为图片。

宏正常运行,我的笔记本电脑和其他同事没有错误。笔记本电脑。有些同事在他们的笔记本电脑中收到错误。

我们都在使用:

  • Windows 7 Ultimate 64位
  • Office 365 ProPlus(Excel 2016)

创建宏:

Sub Macro4()

Dim ws As Worksheet

Set ws = Sheets("CS - Pivot Tables")

With ws
    .Activate
    .Range("B2:D13").Copy
    .Range("L2").Select
    .Pictures.Paste
End With

Application.CutCopyMode = False

Range("A1").Select

End Sub

*****宏停在.Pictures.Paste

2 个答案:

答案 0 :(得分:2)

您需要使用其他副本来复制图片:

Sub Macro4()

Dim ws As Worksheet

Set ws = Sheets("CS - Pivot Tables")

    With ws
        .Activate
        .Range("B2:D13").CopyPicture Appearance:=xlScreen, Format:=xlPicture
        .Range("B1").Select
        .Paste
    End With


Range("A1").Select

End Sub

答案 1 :(得分:1)

你可以尝试这样的事情:

Sub Macro4()

    Dim ws      As Worksheet
    dim pic     as picture

    Set ws = Sheets("CS - Pivot Tables")
    With ws 
        .Activate 
        .Range("B2:D13").Copy 
        .Range("L2").Select 
        set pic = .pictures.paste
    End With

    Application.CutCopyMode = False

    Range("A1").Select

End Sub

(您的代码未格式化,但我猜我做得对。)