以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:图表格式设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138499)

--  作者:cxmxjwlmq
--  发布时间:2019/8/2 1:13:00
--  求助:图表格式设置

各位老师:我借用代码在表中插入一个饼图,代码如下:

 

Dim App As New MSExcel.Application

    App.Visible = True

    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\2019年7月下线入库合格率统计.xls")

    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets("部门不良点统计")    \'指定工作表

    Dim Rg As MSExcel.Range = Ws.Range("P6:P11")       \'图表数据源

    Dim Co As MSExcel.ChartObject = Ws.ChartObjects.Add(100,200,400,250)   \'创建图表对象

    Dim Cht As MSExcel.Chart = Co.Chart

    Cht.ChartType = MSExcel.XlChartType.xlPie          \'图表类型

Cht.SetSourceData(Rg,MSExcel.XlRowCol.xlColumns)

    Cht.SeriesCollection(1).XValues = "=部门不良点统计!$C$6:$C$11"

Cht.Location(MSExcel.XlChartLocation.xlLocationAsObject, "部门不良点统计")   

现在我想要的效果: 1、在数据标识中,显示百分比,并显示类别名称。以下代码怎么改,请老师费心

   With Cht.SeriesCollection(1)             \'返回图表中第1个系列

        .HasDataLabels = True                \'显示第1个系列的数据标志

        .HasLeaderLines= True                \'显示第1个系列的数据标志引导线

    End With

   我想要的效果:2、在底部显示图例。以下代码怎么改,请老师费心

    With Cht                                      \'图例

         .HasLegend = True        \'显示图例,

    End With

 

请各位老师费心,给指点一下,谢谢!


--  作者:有点蓝
--  发布时间:2019/8/2 9:25:00
--  
1、
ApplyDataLabels

将数据标志应用于图表中的某一数据点、某一数据系列或所有数据系列。本方法适用于Chart、Point或Series对象。

语法:

ApplyDataLabels(Type,LegendKey,AutoText,HasLeaderLines)
 

Type:可选,表示数据标志类型。可为下列XlDataLabelsType常量之一:

  • xlDataLabelsShowNone:无数据标志。
  • xlDataLabelsShowValue:数据点的值(若未指定本参数,即使用此设置)。
  • xlDataLabelsShowPercent:总数的百分比,仅用于饼图或圆环图。
  • xlDataLabelsShowLabel:数据点所属的分类,这是默认值。
  • xlDataLabelsShowLabelAndPercent:占总数的百分比及数据点所属的分类,仅用于饼图或圆环图。

LegendKey:若指定为 True,则在数据点旁边显示图例标示。默认值为False。
Autotext:可选。若指定为True,则对象基于上下文自动产生合适的文本。
HasleadersLines:可选,适用于Chart和Series对象。若指定为True,则序列有前导字符线。

例如对图表上的第一个数据系列应用分类标志:

Cht.SeriesCollection(1).ApplyDataLabels(MSExcel.TXlDataLabelsType.xlDataLabelsShowLabel)


2、


With Cht
    .HasLegend = True
    .Legend.Font.ColorIndex = 5

.Legend.Position = MSExcel.XlLegendPosition.xlLegendPositionBottom

End With


--  作者:cxmxjwlmq
--  发布时间:2019/8/2 20:09:00
--  

谢谢蓝老师指点!