Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 将图形复制/粘贴到新图纸并调整大小_Excel_Vba - Fatal编程技术网

Excel 将图形复制/粘贴到新图纸并调整大小

Excel 将图形复制/粘贴到新图纸并调整大小,excel,vba,Excel,Vba,我想复制一个图表,粘贴到一个新的工作表在特定的位置,然后调整它的大小 此代码仅调整原始图形的大小: Dim ws as worksheet set ws = worksheets("Sheet2") Sheets("Sheet1").Select Sheets("Sheet1").ChartObjects("Chart 1").Activate ActiveChart.ChartArea.Copy ws.Paste Destination:=ws.Range("B17") With Acti

我想复制一个图表,粘贴到一个新的工作表在特定的位置,然后调整它的大小

此代码仅调整原始图形的大小:

Dim ws as worksheet

set ws = worksheets("Sheet2")
Sheets("Sheet1").Select
Sheets("Sheet1").ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.Copy
ws.Paste Destination:=ws.Range("B17")

With ActiveChart.Parent
    .Height = 100 ' resize
    .Width = 250  ' resize
End With
我试着录制一个宏。它将首先使用指定的图表名称激活目标图表,如下面代码中的图表6,然后重新调整大小。在我的例子中,图表名称一直在更改,因此我无法在宏中对其进行编码

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.ChartArea.copy
Sheets("Sheet2").Select
Range("C3").Select
ActiveSheet.Paste
ActiveSheet.ChartObjects("Chart 6").Activate
With ActiveChart
    .Height = 100 ' resize
    .Width = 250  ' resize
End With
Sub test()
 Dim ws As Worksheet
    Dim Chrt1 As ChartObject
    Dim chrt2 As ChartObject


    Set ws = Worksheets("Sheet2")
    Set Chrt1 = Sheets("Sheet1").ChartObjects(1)
    Chrt1.Copy
    ws.Paste Destination:=ws.Range("B17")
    Set chrt2 = ws.ChartObjects(1)
    With chrt2.Chart.Parent
         .Height = 100 ' resize
         .Width = 250  ' resize
     End With
End Sub