我要从名为" ws_d" "的工作表中复制一张图片对于新创建的名为"ExcelSheet"的excel应用程序对象,我编写了如下代码,但图片没有粘贴到新工作簿:
ws_d.Shapes(1).Copy
ws_d.Paste Destination:=ExcelSheet.Application.Range("B1")
有没有人可以纠正我的代码,以便图片可以粘贴。多谢。
请尝试下一种方式:
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
,将形状放置在之前选择的单元格上。