excel中的自定义图形,x值始终为100%,y值小于或大于,表示该百分比

excel中的自定义图形,x值始终为100%,y值小于或大于,表示该百分比,excel,graph,vba,Excel,Graph,Vba,我制作了一个大宏,生成一个动态数据的图形。然而,我的一个图表将显示实际小时数与估计小时数。我使用的是100%叠加,但问题是est与act只有在est

我制作了一个大宏,生成一个动态数据的图形。然而,我的一个图表将显示实际小时数与估计小时数。我使用的是100%叠加,但问题是est与act只有在est<实际值时才可能出现。我想将实际值设置为100%,然后将第二个数据系列(估计值)设置为低于或高于100%,以显示80%或120%等

非常感谢:)

ActiveSheet.ChartObjects(“每月”)。删除

工作表中每个ws的

如果ws.Name为“摘要”,ws.Name为“日历”,ws.Name为“头版”,ws.Name为“弧”,那么
ws.Range(“F129”)。副本
ActiveSheet.Range(“BH65536”).End(xlUp).偏移量(1,0).粘贴特殊XLPaste值
如果结束
下一个ws
对于工作表中的每个ws
如果ws.Name为“摘要”,ws.Name为“日历”,ws.Name为“头版”,ws.Name为“弧”,那么
ws.Range(“G128”)。副本
ActiveSheet.Range(“BI65536”).End(xlUp).偏移量(1,0).粘贴特殊XLPaste值
如果结束
下一个ws
范围(“BJ2”)。选择
ActiveCell.FormulaR1C1=“=RC[-1]-RC[-2]”
范围(“BJ2”)。选择
Selection.AutoFill目标:=范围(“BJ2:BJ75”),类型:=xlFillDefault
范围(“BJ2:BJ75”)。选择
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType=xlColumnStacked100
ActiveChart.Parent.Name=“每月”
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values=“=摘要!$BH$2:$BH$53”
ActiveChart.SeriesCollection(1).Name=“=”估计值“”

也许堆叠条形图不是解决此问题的最佳图表类型

为什么不使用简单的柱状图绘制偏差(+/-),如下所示:

me中的研究人员建议只对有序数据类型使用堆叠条/列:),例如,“1周以内”、“1-2周”、“3周以上”等类别


或者使用简单的堆叠条/列(即,不是堆叠的100%),这应该允许您显示120%之类的值。

显示您有问题的部分代码。我们可以尝试改进它。你说的
hours
是指以小时为单位的
消耗的时间吗?我有一个估计时间和实际时间,我所做的是减去(实际est=数据系列(1))和est=数据系列2,所以它看起来像图表上的百分比。Mathematics所有这些都是正确的,但它只在实际值大于估计值时才起作用。@user2192609您能附上图表的图像吗?我真的不明白你想要它看起来像什么,或者你想要打印/省略什么数据。我不知道如何发布图片!你可以添加链接到你的图片,如果你可以上传到互联网的某个地方…我喜欢这个想法,但我不想显示-%。也许我对excel的整个绘图方面了解不够。
For Each ws In Worksheets
 If ws.Name <> "Summary" And ws.Name <> "Calenders" And ws.Name <> "Front Page" And ws.Name <> "Arc" Then
        ws.Range("F129").Copy
        ActiveSheet.Range("BH65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
    End If
Next ws


 For Each ws In Worksheets
 If ws.Name <> "Summary" And ws.Name <> "Calenders" And ws.Name <> "Front Page" And ws.Name <> "Arc" Then
        ws.Range("G128").Copy
        ActiveSheet.Range("BI65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
    End If
Next ws


  Range("BJ2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]"
Range("BJ2").Select
Selection.AutoFill Destination:=Range("BJ2:BJ75"), Type:=xlFillDefault
Range("BJ2:BJ75").Select

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlColumnStacked100




ActiveChart.Parent.Name = "Monthly"



ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = "=Summary!$BH$2:$BH$53"
ActiveChart.SeriesCollection(1).Name = "=""Estimated"""