每次复制为图片返回运行时错误1004

时间:2018-04-05 21:50:25

标签: excel vba excel-vba

我创建了一个新的excel文件,我创建了两个标签。我记录一个宏,我在Sheet1上选择一系列单元格(无关紧要)然后选择复制为图片。然后我将该图像粘贴在工作表2上。我停止录制并删除图像并返回到工作表1.然后我尝试播放宏,然后我得到Runtime Error 1004。有谁知道如何修复我的Excel?

我很乐意分享我的代码,但不认为这似乎是excel中的核心问题。

在下面添加代码。

Sub CopyData(tRange As String, SheetName As String)
    Worksheets(SheetName).Range(tRange).CopyPicture xlPrinter, xlPicture
End Sub

Sub Test()
    Call CopyData("B2:I31", "Sheet1")
End Sub

添加新细节

在我的办公室,我们有4个mac。所有这些人都开始要求更新到excel 16.11.1。这是在两台矿山和另一台计算机上完成的。今天我在其中一台没有16.11.1的机器上尝试了我的代码。我更新到16.11.1并且它停止了工作。我有信心16.11.1是问题所在。

2 个答案:

答案 0 :(得分:1)

这将完成你想要做的事情;将工作表和范围设置为变量。如果您要使用默认值,则无需为CopyPicture添加常量,其中包括:xlScreenxlPicture ...

Sub CopyData()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim Rng1 As Range
Dim Rng2 As Range

Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")

Set Rng1 = ws1.Range("B2:I31")
Set Rng2 = ws2.Range("A1") 'change the cell ref as needed

    Rng1.CopyPicture xlPrinter, xlPicture

    ws2.Paste Destination:=Rng2

End Sub

答案 1 :(得分:0)

问题是由办公室更新引起的。我按照微软的说明降级,它解决了这个问题。感谢所有回复并给予支持的人。