【问题标题】:Run-time error '1004'. in copy/paste as picture运行时错误“1004”。复制/粘贴为图片
【发布时间】:2017-01-18 13:32:41
【问题描述】:

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

Excel文件说明:

我有 1 个包含 2 张工作表的 Excel 文件:

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

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

问题描述:

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

宏在我的笔记本电脑和其他同事的笔记本电脑中正常运行,没有任何错误。一些同事的笔记本电脑出现错误。

我们都在使用:

  • Windows 7 Ultimate 64 位
  • Office 365 专业增强版 (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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    您需要使用不同的副本来复制图片:

    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
    

    【讨论】:

    • @Vityata,是的,有几种方法可以解决这个问题:)
    • 非常感谢您对此进行调查!!!我尝试了两种解决方案,它们在我的 PC 上运行良好。然后我让我的同事试一试。 VBA Pete 提供的那个工作正常!!!!但是,Vityata 提供的错误与我们以前遇到的错误相同。我将尝试在我的代码中应用该解决方案,确认整个宏工作正常。我会及时向大家发布。再次感谢。阿尔贝托
    • 阿尔贝托不用担心,很高兴为您提供帮助。
    【解决方案2】:

    你能试试这样的吗:

    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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多