将图片复制到Excel应用程序对象

ar7v8xwq  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(137)

我想从名为“ws_d”的工作表中复制一张图片到名为“ExcelSheet”的新创建的Excel应用程序对象,我编写了如下代码,但图片没有粘贴到新的工作簿:

ws_d.Shapes(1).Copy

ws_d.Paste Destination:=ExcelSheet.Application.Range("B1")

任何人都可以善意地纠正我的代码,使图片可以粘贴。非常感谢。

bxpogfeg

bxpogfeg1#

请尝试下一种方法:

Sub testCopyShape()
 Dim ws_d As Worksheet, ExcelSheet As Workbook
 
   'set the above objects as you need__________________________
   '...
   Set ws_d = ActiveSheet 'use here what you need
   Set ExcelSheet = Workbooks("workbook name") 'use here its REAL NAME
   '___________________________________________________________
   
   ws_d.Shapes(1).Copy

   ExcelSheet.Worksheets(1).Paste 'to paste in the workbook first sheet
   'move the shape where you need:
   With ExcelSheet.Worksheets(1).Shapes(ExcelSheet.Worksheets(1).Shapes.Count)
        .Left = ExcelSheet.Worksheets(1).Range("B3").Left
        .Top = ExcelSheet.Worksheets(1).Range("B3").Top
    End With
End Sub

这种方式不需要选择/激活任何东西。否则,您可以激活所需的工作表(Worksheets(1)),选择要粘贴的区域,然后使用Worksheets().Paste,将形状放置在之前选定的单元格中。

相关问题