Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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
如何在VBA、Excel中复制和选择图表、图片等_Vba_Excel_Charts - Fatal编程技术网

如何在VBA、Excel中复制和选择图表、图片等

如何在VBA、Excel中复制和选择图表、图片等,vba,excel,charts,Vba,Excel,Charts,我有将图表复制为图片的代码。AChart.CopyPicture我想将其作为工作表粘贴到目标,但粘贴位置与复制图表的原始工作表中的位置相同。(因此使用AChart.Left和AChart.Top) 如果我的源代码和目标代码表中只有一个图表,那么这对我来说是非常直接的,但我有很多图表 因此,我建议的解决方案是在粘贴后立即选择新图表,并将.Left和.Top设置为正确的值。我只是不知道如何选择刚贴好的假牙 我的想法不是特别集中在这个解决方案上,我很清楚它可能会导致。因此,请随意从不同的角度来处理我的

我有将图表复制为图片的代码。
AChart.CopyPicture
我想将其作为工作表粘贴到
目标,但粘贴位置与复制图表的原始工作表中的位置相同。(因此使用
AChart.Left
AChart.Top

如果我的源代码和目标代码表中只有一个图表,那么这对我来说是非常直接的,但我有很多图表

因此,我建议的解决方案是在粘贴后立即选择新图表,并将
.Left
.Top
设置为正确的值。我只是不知道如何选择刚贴好的假牙


我的想法不是特别集中在这个解决方案上,我很清楚它可能会导致。因此,请随意从不同的角度来处理我的问题。

您应该能够使用
选择
对象修改粘贴的图表。
目的地
工作表也必须是活动工作表。如果要从源工作表复制每个图表,可以对每个循环使用

Destination.Activate
For Each cht In Source.ChartObjects
    cht.CopyPicture
    Destination.Paste
    Selection.Left = cht.Left
    Selection.Top = cht.Top
Next cht

粘贴的图片不是选定的活动元素吗?如果是这种情况,你可以在粘贴后直接操作该对象的属性。换句话说,你是说
Selection
object将允许我设置这些属性。这是正确的吗?这是我的想法,至少在没有测试或尝试的情况下。您可以找到正在复制的图表的
.Left
.Top
属性,然后将它们应用到图片中,使用每个对象的对象模型获取并设置这些值。以下问题和解决方案可以帮助您对齐工作表上的多个图表:Scott看起来您是正确的。一开始我无法重复你的解决方案,因为我忘了激活“目的地”,直到迪伦提醒我。