尽管设置位置,Excel图表略有移动

时间:2015-06-25 18:09:58

标签: excel vba excel-vba gantt-chart

我创建了一个甘特图,它直接位于数据拉出的行旁边,所以一切都在一条整齐的线上。有几个月的数据,所以我创建了两个按钮(下一页/上一页),它们从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

Added images

更新:作为临时修复,我尝试将绘图区域的位置设置为特定位置,但这会使情况变得更糟。请参阅下面的尝试声明的更改:

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

0 个答案:

没有答案