我有一张图表,我想重新定位。该图表称为图表1。
BalanceCFWD是电子表格中的命名范围(“A63”)。在我生成报告时,上面的单元格将被删除。当我删除单元格时,图表不随单元格一起移动,因此我试图编写此代码。这适用于其他用户。
如果我单步执行代码,我可以使用.Top = chart1top.Top,这将完美地重新定位。我的问题是,这只有在我单步执行代码时才有效。如果我让它没有断点,代码表会变得更宽,超出打印范围,所以我试图定义宽度和高度。
ChartWidth行如果没有编译的“预期列表”或者我不能写。
调整数据标签和其他图表后会有更多代码。
有更简单的方法吗?
Dim chart1top As Range
Dim chart1Left As Range
Dim chart1Width As Range
Dim chart1HeightStart As Range
Dim chart1HeightEnd As Range
With Sheets("Overall Summary")
Set chart1top = .Range("BalanceCFWD").Offset(1, 0)
Set chart1Left = .Range("BalanceCFWD").Offset(1, 0) 'same as the range above
Set chart1Width = .Range(("BalanceCFWD").Offset(1, 0) & ":" & ("BalanceCFWD").Offset(1, 5)
Set chart1HeightEnd = .Range("BalanceCFWD").Offset(27, 5)
End With
With ActiveChart.Parent
.Top = chart1top.Top
.Left = chart1Left.Left
.Height = chart1HeightStart.Height
.Width = chart1Width.Width
End With
答案 0 :(得分:2)
如果您要删除Excel中的行,但图表没有移动,我觉得您只需要更改购物车属性。
这是默认设置:
在Object positioning
下注明已选择Move and size with cells
。我冒昧地说你选择了另外两个单选按钮中的一个。
您可以手动更改一个图表,或者如果它似乎是一个持续的问题,您可以录制一个宏来为您提供需要设置的确切属性,然后在代码中设置Move and size
事先到您的行删除代码,它应该按预期移动。