我知道有类似的问题,但我仍然无法弄清楚这个错误。
我正在使用Access,导出到excel并使用一些excel宏来格式化数据和创建图表。我现在正试图将这些图表放入Powerpoint中,而我只能粘贴我试图复制的四个图表中的一个。
导出第三张和第四张图表的代码如下:
xl.Sheets("Sheet with chart 3").Select
Set rng = xl.ActiveChart
rng.CopyPicture
mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
myShapeRange.Left = 365
myShapeRange.Top = 200
myShapeRange.Width = 345
xl.Sheets("Sheet with chart 4").Select
Set rng = xl.ActiveChart
rng.CopyPicture
mySlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
Set myShapeRange = mySlide.Shapes(mySlide.Shapes.Count)
myShapeRange.Left = 365
myShapeRange.Top = 200
myShapeRange.Width = 345
我在行的第二次出现时收到错误“对象变量或未设置块变量(错误91)”
rng.CopyPicture
那么为什么这个代码在之前运行三次后会失败?我相信我正确地限定了所有内容,而且这个代码也没有在with block中运行。此外,它所拉出的excel表几乎与其他表相同。
答案 0 :(得分:0)
我被困在这一段时间,这个问题是由这一行引起的:
xlSheet.Range("G7").Select
这是excel书格式化过程中的最后一行。我在excel中记录了宏来制作图表并将结果代码粘贴到Access中。我想选择这个单元格会阻止图表设置为活动状态,所以我无法复制它。希望这有助于某些人遇到同样愚蠢的问题!