访问错误:对象变量或未设置块变量(错误91)

时间:2015-07-29 13:19:17

标签: excel ms-access access-vba

我知道有类似的问题,但我仍然无法弄清楚这个错误。

我正在使用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表几乎与其他表相同。

1 个答案:

答案 0 :(得分:0)

我被困在这一段时间,这个问题是由这一行引起的:

xlSheet.Range("G7").Select

这是excel书格式化过程中的最后一行。我在excel中记录了宏来制作图表并将结果代码粘贴到Access中。我想选择这个单元格会阻止图表设置为活动状态,所以我无法复制它。希望这有助于某些人遇到同样愚蠢的问题!