我创建了一个甘特图,它直接位于数据拉出的行旁边,所以一切都在一条整齐的线上。有几个月的数据,所以我创建了两个按钮(下一页/上一页),它们从x轴的最小值和最大值中加/减30。因为所有东西都是甘特桌式的,所以我一直试图将图表的位置重置为它的原始位置。不幸的是,图表仍在移动,在图表和我的数据之间创造了一个小差距。非常感谢任何建议!
我的图表角落都没有位于单元格的角落,而且稍后可能会重新调整某些列的大小。
Private Sub NEXT_PG_Click()
Dim chart_height As Single, chart_length As Single, chart_top As Single, chart_left As Single
'Saving original position to save later
With ActiveSheet.ChartObjects("Chart 2")
chart_height = .Height
chart_width = .Width
chart_top = .Top
chart_left = .Left
End With
'Displaying next 30 days of data
With ActiveSheet.ChartObjects("Chart 2").Chart.Axes(xlValue)
.MinimumScale = .MinimumScale + 30
.MaximumScale = .MaximumScale + 30
End With
'Trying to set original location and size
With ActiveSheet.ChartObjects("Chart 2")
.Height = chart_height
.Width = chart_width
.Left = chart_left
.Top = chart_top
End With
End Sub
更新:作为临时修复,我尝试将绘图区域的位置设置为特定位置,但这会使情况变得更糟。请参阅下面的尝试声明的更改:
With ActiveSheet.ChartObjects("Chart 2").Chart.PlotArea
.Height = Range("A8:A30").Height
.Width = Range("J6:U6").Width
.Top = Range("J8").Top
.Left = Range("J8").Left
End With