Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 如何使图表/形状垂直而非水平自由浮动_Vba_Excel - Fatal编程技术网

Vba 如何使图表/形状垂直而非水平自由浮动

Vba 如何使图表/形状垂直而非水平自由浮动,vba,excel,Vba,Excel,是否有一种方法可以使用xlfreefloating函数,但只能在一个方向上定位图形,而不能在另一个方向上定位图形?我有一个宏,它将我的图形定位在一定范围的单元格之间。我希望它在y方向保持自由浮动,而不是在x方向。因此,如果图形位于某些数据单元格的右侧,我调整单元格,使它们在x方向上变长,我希望图形跟随。但是如果我在y方向调整它们,我希望它们保持不变。谢谢 我自己发现了如何做到这一点: 一种方法是在操作单元格后手动激活图表,然后根据需要将其放置在左侧或右侧的任何位置。在创建、定位图表并操作单元格后

是否有一种方法可以使用xlfreefloating函数,但只能在一个方向上定位图形,而不能在另一个方向上定位图形?我有一个宏,它将我的图形定位在一定范围的单元格之间。我希望它在y方向保持自由浮动,而不是在x方向。因此,如果图形位于某些数据单元格的右侧,我调整单元格,使它们在x方向上变长,我希望图形跟随。但是如果我在y方向调整它们,我希望它们保持不变。谢谢

我自己发现了如何做到这一点:

一种方法是在操作单元格后手动激活图表,然后根据需要将其放置在左侧或右侧的任何位置。在创建、定位图表并操作单元格后,使用了以下代码:

Sub MoveCharts()

ActiveSheet.ChartObjects("Chart 7").Activate
With ActiveChart.Parent
.Left = Range("N2").Left
End With

End Sub

“移动和调整单元格大小”选项是“全部”或“全部”或“全部”选项。您最好的选择是在操作单元格后将图表定位到所需位置。没有任何方法(或者当然没有基本/简单的方法,可以通过事件处理程序来完成)来复制移动和大小,但将其限制在一个维度。同样需要澄清的是:
xlFreeFloating
不是“函数”,它是分配给chartobject的
.Placement
属性的值。因此在我的代码中我有两个函数(谢谢你的澄清,我有时会感到困惑,我对VBA很陌生):一个是绘制图形并定位它们的函数,还有一个操纵细胞的。单元格操作显然是在graphing函数之后运行的,但是是否可以调用graphing函数中创建的图形并定位它们?我将在编辑我的初始问题时向您展示我的代码,谢谢!另外,David你回答了我所有的问题你真的知道你的东西,不是吗?实际上David你在我之前问的另一个问题中看到了我的代码,你告诉我在代码中插入
xlFreeFloating
。我想我可以做到这一点,如果我错了,请纠正我:在我的图形创建之后,我可以选择工作表上的图形,然后只做“向左移动3列”类型的事情吗?更新:当我尝试选择我的图形时,它不允许我这样做。它告诉我需要一个对象,或者没有具有指定名称的图表,即使我使用的是已定义的图表及其标题名称。当我录制宏并选择图表时,我发现我的图表名为“图表7”。在没有记录宏和选择图表的情况下,有没有办法找到图表的名称?