Excel图表编程应用大全(2):图表编程基础

嵌入式图表和图表工作表
图表在工作表中有两种存在方式:

  • 嵌入式图表与工作表的数据在一起,或者与其他的嵌入式图表在一起。
  • 图表工作表是特定的工作表,只包含单独的图表。

(1)嵌入式图表
当希望图表作为工作表的一部分,与数据或其他图表在一起时,嵌入式图表是最好的选择。Chart对象代表每一个嵌入式图表,包含在ChartObject对象里。
每个Excel工作表都有一个ChartObjects集合,包含工作表中每个嵌入式图表。为了在工作表中添加新的嵌入式图表,在集合中添加ChartObject对象,其语法为:

    WorksheetObject.ChartObjects.Add(Left,Top,Width,Height)

其中,参数Left和参数Top指定图表左上角的位置,参数Width和参数Height指定图表尺寸。所有4个参数都以磅为单位。该方法返回对新创建的ChartObject对象的引用,使用Chart属性引用所包含的图表。例如:

   Dim co As ChartObject
    Dim ch As Chart
    Set co = Worksheets("Sheet1").ChartObjects.Add(50, 50, 250, 165)
    Set ch = co.Chart

执行上述代码后,在工作表Sheet1中放置一个新的空嵌入式图表,使用变量ch来引用该图表。
(2)图表工作表
当希望图表显示最大尺寸,而且不会妨碍数据或其他图表时,使用图表工作表。Chart对象代表图表工作表。与嵌入式图表不同,不需要ChartObject对象,因为图表工作表的位置是固定的,其尺寸取决于工作表的尺寸。每个工作簿都有一个Charts集合,包含该工作簿中的所有图表工作表。
注意,工作簿的Charts集合不会引用嵌入式图表,仅仅是图表工作表。相反,工作表的ChartObjects集合仅仅引用嵌入式图表。要添加新的图表工作表,使用Add方法:

    Charts.Add

该方法返回对新图表的引用。下面的代码在活动工作簿中添加新的图表工作表,并且包含对新图表的引用:

   Dim ch As Chart
    Set ch = ActiveWorkbook.Charts.Add

执行上述代码后,使用变量ch操控图表。
Chart对象
以下图所示的工作表为例,简要介绍Chart对象及其应用。

要指定图表数据,需要调用Chart对象的SetSourceData方法。语法为:

    SetSourceData(Source,PlotBy)

其中,参数Source是包含数据的工作表区域,可以通过行列标识符或者名称来指定该参数值。参数PlotBy是一个常量,指定数据系列是行区域(xlRows)还是列区域(xlColumns)。
如上图所示的工作表,设置图表源数据的代码如下:

    ch.SetSourceData Source:=Worksheets("Sheet1").Range("B3:F6"),PlotBy:=xlRows

假设ch引用Chart对象。下面的过程基于上图工作表数据创建一个嵌入式图表:

Sub CreateEmbeddedChart()
    Dim co As ChartObject
    Dim ch As Chart
 
    Set co = Worksheets("Sheet1").ChartObjects.Add(50, 100, 250, 165)
    Set ch = co.Chart
    ch.SetSourceData Source:=Worksheets("Sheet1").Range("B3:F6"), PlotBy:=xlRows
End Sub

说明:

  • 图表中自动添加了数据系列和类别标签。
  • 在水平轴中绘制类别;垂直轴中绘制数值。
  • 自动创建图表图例,以识别数据系列。
  • 图表的垂直轴根据数据值自动缩放。
  • 在没有指定图表类型时,默认使用簇状柱形图。

生成的图表如下图所示。

下面,来指定图表的类型。
Chart对象的ChartType属性控制图表的类型,并且Excel提供了一组预定义常量指定该属性。每个常量不仅指定基本类型(例如条形图、柱状图或折线图),而且也指定每种类型的子类型,包括图表是否作为二维或三维显示。
下表列出了一些经常使用的类型。

常量 说明
xlBar 条形图
xlLine 折线图
xlArea 面积图
xlPie 饼图
xlColumn 柱状图
xlPyramid 棱锥图

下面的示例代码演示了如何设置图表类型,使用了上图工作表的数据,指定带标记的折线图。

Sub CreateChartSheet()
    Dim ch As Chart
 
    Set ch = ActiveWorkbook.Charts.Add
    ch.SetSourceData Source:=Worksheets("Sheet1").Range("B3:F6"), PlotBy:=xlRows
    ch.ChartType = xlLineMarkers
End Sub

生成的图表如下图所示。

控制图表外观
除了图表的类型外,还有许多选项用来控制图表看起来的样子,其中一些选项仅仅为表现外观,而另一些选项则表现图表传递给查看者的信息。
1、显示图表标题
在图表上方可以显示图表标题。下面列出的Chart对象的两个属性控制图表标题:

  • HasTitle属性。True/False值,指定是否显示标题。
  • ChartTitle,控制标题的详细信息。

要显示图表标题,必须设置ChartTitle对象的属性并且设置HasTitle为True。下面的代码在图表中显示标题“家电销售量”:

   ch.HasTitle = True
    ch.ChartTitle.Text = "家电销售量"

其中,变量ch引用已经存在的图表。注意,在设置ChartTitle对象的任何属性之前,必须将HasTitle属性设置为True,否则,会发生错误。
本例中,简单地设置图表标题文本后,将采用默认的字体、位置等设置,可以使用下表列出的ChartTitle对象属性来修改图表标题的外观。

属性 说明
AutoScaleFont True/False,指定标题的字体尺寸是否随图表尺寸而自动改变。默认值为True。
HorizontalAlignment 指定标题的左-右对齐。设置为xlLeft、xlCenter(默认值)或xlRight
Left 从标题的左边缘到图表区的左边缘的距离,以磅为单位
Top 从标题的顶边缘到图表区的顶边缘的距离,以磅为单位
Text 标题的文本。默认为空

2、图表坐标轴文本
大多数Excel图表都有两个坐标题,饼图除外。水平坐标轴是类别轴,垂直坐标轴是数值轴。默认情况下,坐标轴没有标题,但可以添加标题。
以Chart对象的Axes集合的方式引用图表的坐标轴。通过使用常量xlCategory和xlValue指定坐标轴。例如,代码:

    图表对象.Axes(xlCategory)

引用图表的类别坐标轴。而代码:

    图表对象.Axes(xlValue)

引用数值坐标轴。
要对坐标轴添加标题,设置HasTitle属性为True,然后使用AxisTitle.Text属性来设置标题。例如,假设变量ch引用已存在的图表:

ch.Axes(xlValue).HasTitle=True
ch.Axes(xlValue).AxisTitle.Text="销售量"

要移除坐标轴标题,只须设置HasTitle属性为False。要修改已有的坐标轴标题,改变AxisTitle.Text属性的值。
注意,通过设置HasTitle为False移除坐标轴标题,将彻底删除标题,而不是简单地隐藏标题。在试图处理AxisTitle对象之前,确保设置HasTitle为True,否则会发生错误。
下面列出的程序改进了上文中的程序,不仅创建了图表,而且也添加了图表标题和坐标轴标题:

Sub CreateEmbeddedChartWithTitles()
    Dim co As ChartObject
    Dim ch As Chart
 
    Set co = Worksheets("Sheet1").ChartObjects.Add(50, 100, 250, 165)
    Set ch = co.Chart
    ch.SetSourceData Source:=Worksheets("Sheet1").Range("B3:F6"), PlotBy:=xlRows
    ‘添加图表标题
    ch.HasTitle = True
    ch.ChartTitle.Text = "家电销售量"
    ‘添加类别轴标题
    ch.Axes(xlCategory).HasTitle = True
    ch.Axes(xlCategory).AxisTitle.Text = "期间"
    ‘添加数值轴标题
    ch.Axes(xlValue).HasTitle = True
    ch.Axes(xlValue).AxisTitle.Text = "销售量"
End Sub

结果如下图所示。

处理图表中的字体
可以编写VBA代码来修改图表中任何文本的字体。与特定项(图表标题、坐标轴标题等)相关的Font对象控制文本外观。图表中的文本项和相关的Font对象如下表所示。

文本项 FONT对象
图表标题 Chart.ChartTitle.Font
类别坐标轴标题 Chart.Axes(xlCategory).AxisTitle.Font
数值坐标轴标题 Chart.Axes(xlValue).AxisTitle.Font
图例文本 Chart.Legend.Font
类别坐标轴刻度标签 Chart.Axes(xlCategory).TickLabels.Font
数值坐标轴刻度标签 Chart.Axes(xlValue).TickLabels.Font

上表列出的所有对象都有AutoScaleFont属性,默认值为True,表明当图表尺寸改变时字体尺寸自动改变。因此,设置字体尺寸仅仅设置了当时相对于图表尺寸的初始字体尺寸,如果图表本身调整的话,实际字体尺寸也变化。
下面的代码修改图表标题为14磅Arial类型的粗体。

With 图表对象.ChartTitle.Font
    .Name="Arial"
    .Bold=True
    .Size=14
End With

下面的代码将图表图例文本修改为10磅、红色的Times New Roman字体。

With 图表对象.Legend.Font
    .Name="Times New Roman"
    .Color=RGB(255,0,0)
    .Size=10
End With

下表列出了Font对象通常使用的属性。

属性 说明
Bold True/False,指定字体是否为粗体。
Color 字体的颜色,一个RGB值。
Italic True/False,指定字体是否为斜体。
Name 字体的名字。

下面的代码对上文中的示例作了进一步的改进,修改了字体以获得更好的外观。

Sub CreateEmbeddedChart()
    Dim co As ChartObject
    Dim ch As Chart
 
    Set co = Worksheets("Sheet1").ChartObjects.Add(50, 100, 250, 165)
    Set ch = co.Chart
    ch.SetSourceData Source:=Worksheets("Sheet1").Range("B3:F6"), PlotBy:=xlRows
 
    ‘添加图表标题
    ch.HasTitle = True
    ch.ChartTitle.Text = "家电销售量"
    ‘修改字体
    With ch.ChartTitle.Font
        .Name = "Arial"
        .Size = 14
        .Color = RGB(0, 0, 255)
    End With
 
    ‘添加类别坐标轴标题并设置其字体.
    ‘同时修改刻度标签.
    With ch.Axes(xlCategory)
        .HasTitle = True
        .AxisTitle.Text = "期间"
        .AxisTitle.Font.Name = "Arial"
        .AxisTitle.Font.Size = 10
        .TickLabels.Font.Name = "Arial"
        .TickLabels.Font.Size = 8
    End With
 
    ‘添加数值坐标轴标题并设置其字体.
    ‘同时修改刻度标签的字体.
    With ch.Axes(xlValue)
        .HasTitle = True
        .AxisTitle.Text = "销售量"
        .AxisTitle.Font.Name = "Arial"
        .AxisTitle.Font.Size = 10
        .TickLabels.Font.Name = "Arial"
        .TickLabels.Font.Size = 8
    End With
 
    ‘修改图例字体
    With ch.Legend.Font
        .Name = "Arial"
        .Size = 10
        .Color = RGB(255, 0, 0)
    End With
End Sub

结果如下图所示。

ChartWizard方法
如果你在Excel中创建过图表,那么可能使用过图表向导。在经过一系列的对话框选择后,创建图表。这对应于VBA中的ChartWizard方法。ChartWizard方法指定图表数据、图表类型、以及图表的外观。有时,使用该方法比每次分别设置Chart对象的单个属性更容易。ChartWizard方法的语法如下:

图表对象.ChartWizard(Source,Gallery,Format,PlotBy, _
CategoryLabels,SeriesLabels,HasLegend,Title,CategoryTitle,ValueTitle,ExtraTitle)

其中,参数Source指定绘制图表的数据区域,Range对象。
参数Gallery是一个xlChartType常量,指定图表的类型:xlArea、xlBar、xlColumn、xlLine、xlPie、xlRadar、xlXYScatter、xlCombination、xl3DArea、xl3DBar、xl3DColumn、xl3DLine、xl3DPie、xl3DSurface、xlDoughnut、xlDefaultAutoFormat。
参数Format是一个1-n范围的数字值,指定内置的自动格式或者图表子类型。自动格式的类型和数值,n的最大值取决于参数Gallery。
参数PlotBy,取值为xlRows(默认值)或者xlColumns,指定数据系列是行还是列。
参数CategoryLabels,包含分类标签的列数(如果PlotBy=xlRows)或者行数(如果PlotBy=xlColumns)。
参数SeriesLabels,包含数据系列标签的行数(如果PlotBy=xlRows)或者列数(如果PlotBy=xlColumns)。
参数HasLegend,包括图例时值为True,否则为False。默认值为True。
参数Title,图表的标题文本。默认没有标题。
参数CategoryTitle,分类坐标轴标题文本。默认没有标题。
参数ValueTitle,数值坐标轴标题文本。默认没有标题。
命名和引用图表

  • 在创建图表工作表时,Excel自动为图表命名,默认的名字是Chart1、Chart2,等等。同样,嵌入式图表也被赋予了名字,默认为图表 1、图表 2,等等,注意数字之前有一个空格。
  • 通过给Name属性赋新的名字,能够重命名ChartObject对象。
  • 使用Workbook对象的Charts属性引用一个已存在的图表工作表。Charts属性返回一个集合,包含工作簿中每个图表工作表,可以通过在集合中的位置来引用图表工作表,但通过图表工作表的名字来引用可能更好一些:

    Charts(图表工作表名称)

    例如,下面的代码打印指定的图表工作表:

    Charts("销售图表").PrintOut
  • 要引用指定的嵌入式图表,必须使用ChartObject对象。例如,下面的代码删除工作表Sheet1中指定的图表:

    Worksheets("Sheet1").ChartObjects("汇总图").Delete

锁定图表
默认情况下,用户可以修改Excel中的图表,然而有时我们可能不想让用户对图表作修改。这时,可以锁定或保护图表,使得不能修改图表,但仍然能够查看和打印图表。
要锁定和保护图表,调用Chart对象的Protect方法:

    图表对象.Protect(password)

其中,参数password可选,用于指定保护密码。
下面的代码取消对图表的保护:

    图表对象.UnProtect(password)

ChartObject对象
ChartObject对象代表嵌入式图表,除图表本身的特性外,还控制着图表的位置和大小。下表列出了ChartObject对象的属性和方法。

属性 说明
BottomRightCell 返回Range对象,引用图表右下角的工作表单元格。只读
Chart 返回对包含的图表的引用
Height 图表的高度,以磅为单位
Left 图表左侧相对于工作表左边缘的位置,以磅为单位
Placement 指定ChartObject如何粘附于其下方的工作表单元格。允许设置值为xlMoveAndSize、xlMove、xlFreeFloating
PrintObject 如果为True(默认),那么在打印工作表时打印图表。如果为False,则不打印图表
Top 图表顶部相对于工作表顶部的位置,以磅为单位
TopLeftCell 返回Range对象,引用图表左上角的工作表单元格。只读
Visible True/False,指定图表是否可见
Width 图表的宽度,以磅为单位
方法 说明
BringToFront 在所有重叠的图表上方显示图表
Copy 将ChartObject复制到Windows剪贴板
CopyPicture 复制图表的图像到Windows剪贴板
Cut 将ChartObject剪切到Windows剪贴板
Delete 删除ChartObject
SendToBack 在所有重叠的图表后面显示图表

当添加或删除嵌入式图表下方区域的单元格时,Placement属性起作用。例如,假设图表跨列B至列F,在该区域插入两个新列,此时的结果取决于Placement属性的设置:

  • xlMoveAndSize。图表的大小和位置改变以适应添加或删除的行/列。
  • xlMove。图表的位置改变以适应添加或删除的行/列,但大小保持不变。
  • xlFreeFloating。大小和位置都不会发生改变。

下面的示例程序演示了ChartObject的一些属性和方法。程序遍历当前工作簿中的所有工作表,将所有嵌入式图表复制到新工作表中,并且程序指定了新工作表的名字以及所复制的图表的大小。

  • 使用Worksheets.Add方法在工作簿中添加新工作表。
  • 设置新工作表的Name属性。
  • 遍历工作簿的Worksheets集合。
  • 检查每个工作表的Name属性,以避免处理新工作表。
  • 遍历每个工作表的ChartObjects集合。
  • 使用Copy方法复制每个ChartObject到剪贴板。
  • 使用Worksheet.Paste方法将ChartObject粘贴到新工作表中。

示例程序清单如下:

Sub CopyEmbeddedChartsToNewSheet(name As String, width As Integer, height As Integer)
    ‘复制当前工作簿中所有嵌入式图表到指定名称的新工作表
    ‘复制的图表指定了宽度和高度并且在单列中排列

    ‘图表之间的垂直距离
    Const SPACE_BETWEEN_CHARTS = 20
 
    Dim newWS As Worksheet
    Dim oldWS As Worksheet
    Dim co As ChartObject
    Dim yPos As Integer
    Dim count As Integer
 
    ‘关闭屏幕更新,避免在复制图表时屏幕闪烁
    Application.ScreenUpdating = False
 
    ‘添加和命名新工作表
    Set newWS = Worksheets.Add
    newWS.name = name
 
    For Each oldWS In Worksheets
        ‘不要从新工作表中复制
        If oldWS.name <> name Then
            ‘遍历该工作表中的ChartObjects
            For Each co In oldWS.ChartObjects
                ‘复制到剪贴板
                co.Copy
                newWS.Range("A1").Select
                ‘粘贴到新工作表
                newWS.Paste
            Next
        End If
    Next
 
    ‘图表的位置和大小
    count = 0
    For Each co In newWS.ChartObjects
        co.width = width
        co.height = height
        ‘距工作表左边缘的距离
        co.Left = 30
        ‘距工作表顶部的距离
        co.Top = count * (height + SPACE_BETWEEN_CHARTS) + SPACE_BETWEEN_CHARTS
        count = count + 1
    Next
 
    ‘打开屏幕更新
    Application.ScreenUpdating = True
End Sub
 
Sub TestCopyEmbeddedCharts()
    CopyEmbeddedChartsToNewSheet "所有图表", 240, 140
End Sub

在程序代码中,每次粘贴操作之前为什么要选择新工作表中的单元格A1,这是因为当粘贴图表到工作表中时,会选择所粘贴的图表。此时,当试图粘贴下一图表时,Excel会认为要将其粘贴到所选择的图表中,这会导致错误。
由于CopyEmbeddedChartsToNewSheet过程包含参数,因此不能直接调用该过程,必须从另一过程调用。
程序运行后的结果如下图所示。

使用散点图
散点图,又称作XY图,不同于Excel中的其他类型的图表。大多数图表根据分类绘制数值,而散点图绘制值对,水平轴和垂直轴都是值。很多情形都适合于用散点图来表现。
散点图中的每一点都有X值和Y值,X值决定点的水平位置,Y值决定点的垂直位置。
散点图的数据组织与其他图表类型的数据类似,不同点在于分类标签被X值取代。下图所示的工作表中为准备绘制散点图的数据,第1列包含的是X值,另外2列包含的是Y值。

创建散点图的VBA代码不同于创建其他类型的图表,必须指定源数据区域和图表类型,也可以应用可选的格式诸如图表和坐标轴标签。下面是基于上图所示的数据创建的嵌入式散点图的VBA代码:

Sub CreateScatterChart()
    Dim co As ChartObject
    Dim ch As Chart
    Set co = Worksheets("Sheet2").ChartObjects.Add(50, 200, 250, 165)
    Set ch = co.Chart
    ch.SetSourceData Source:=Worksheets("Sheet2").Range("B3:D9"), PlotBy:=xlColumns
    ch.ChartType = xlXYScatterLines
 
    ‘添加图表标题
    ch.HasTitle = True
    ch.ChartTitle.Text = Worksheets("Sheet2").Range("A1").Value
 
    ‘添加分类轴标题
    With ch.Axes(xlCategory)
        .HasTitle = True
        .AxisTitle.Text = "相对人数"
    End With
 
    ‘添加数值轴标题
    With ch.Axes(xlValue)
        .HasTitle = True
        .AxisTitle.Text = "获胜概率"
    End With
End Sub

结果如下图所示。

1、散点图的类型
Excel支持几种类型的散点图,如下表所示。

CHARTTYPE常量   说明
xlXYScatter 数据点作为标记,没有线条
xlXYScatterLines 数据点作为标记,通过直线连接
xlXYScatterLinesNoMarkers 没有标记,只是直线
xlXYScatterSmooth 数据点作为标记,通过平滑线条连接
xlXYScatterSmoothNoMarkers 没有标记,通过平滑线条连接数据点

2、改变坐标轴区域
观察上面绘制的散点图,可能会注意到X轴的刻度不合适,其范围从0到10而绘制的数据范围从1到6,结果是图表区的1/3是空的并且被浪费了,这是Excel的默认情形。下面,我们来改变这种情形。
Axis对象的MaximumScale属性和MinimumScale属性控制着坐标轴的最大值和最小值。例如,要设置图表中数值轴(垂直轴)的比例值,可以编写下面的代码:

With 图表对象.Axes("xlValue")
    .MinimumScale=5
    .MaximumScale=20
End With

对于上面的程序来说,只需修改水平坐标轴的最小值为1,代码为:

ch.Axes(xlCategory).MinimumScale = 1

将这行代码插入到设置ChartType属性的代码之后。现在,运行程序后的结果如下图。

注意,即便散点图中的水平轴不是真正的分类坐标轴,仍然使用xlCategory常量来引用。并且,人工设置坐标轴刻度时,如果最小值太大或者最大值太小,将不会绘制一些数据。
打印图表
可以使用PrintOut方法来打印Excel图表。

打印的内容 调用
单个的嵌入式图表或图表工作表 与相应的Chart对象一致的PrintOut方法
工作表中所有的嵌入式图表(与其他工作表内容一起) Worksheet对象中的PrintOut方法
活动工作表中所有嵌入式图表(与其他工作表内容一起) ActiveSheet对象的PrintOut方法
工作簿中所有图表工作表 工作簿的Charts集合的PrintOut方法

可能已经注意到,没有直接的方法用来打印工作表中所有嵌入式图表而不打印其他工作表内容,然而可以使用简短的VBA代码来实现,如下所示。

Sub PrintAllEmbeddedChartsOnSheet(ws As Worksheet)
    ‘打印指定工作表中所有嵌入式图表
    Dim co As ChartObject
    For Each co In ws.ChartObjects
        co.Chart.PrintOut
    Next
End Sub
 
Sub testPrintAllCharts()
    PrintAllEmbeddedChartsOnSheet ActiveSheet
End Sub

上述过程接受一个工作表变量作为其参数,然后遍历该工作表的ChartObjects集合,调用每个包含的图表中的PrintOut方法。如果该工作表没有包含嵌入式图表,则不会发生什么。
注意,在打印工作表时,ChartObject的PrintObject属性决定是否指定的嵌入式图表与其他工作表内容一起打印。

注:以上内容改编自《Excel Programming Weekend Crash Course》第17章和第18章,由完美Excel(excelperfect.com)整理,仅供学习参考。

相关文章

  • 2009年10月30日 Excel图表编程应用大全(1):初识图表编程 (2)
    录制创建图表的过程代码 让我们手工创建不同的图表并录制宏,看看图表对象的一些属性和方法。 步骤1 准备数据,如下图所示。 步骤2 单击“开发工具—录制宏”。 步骤3 将宏命名为BuildSalesChart,如下图所示。 步骤4 单击“确定”,开始录制宏。 步骤5 选择单元格A1:E7,如下图所示。 步骤6 […]
  • 2014年04月6日 在Excel图表中高亮显示特殊数据标签(1) (1)
    引子:这是http://peltiertech.com/WordPress/中介绍的一个技巧,使用了公式或者VBA实现Excel图表中高亮显示特殊的数据标签。 经常有人问:是否可以修改Excel图表中数据标签的字体颜色,高亮显示数据最大值。下面介绍了两种方法,使用VBA实现或使用工作表公式实现。 使用VBA来实现高亮显示图表中特殊的数据标签 下图所示为数据及经过 […]
  • 2014年03月14日 Excel VBA解读(9):看看Excel的那些常用对象(续3) (0)
    《完美Excel》微信公众账号:excelperfect 记得上学的时候,老师经常会在作业本上的空白处写一些评语,或者是对某段话的评价,或者是表扬做得认识,等等。Excel工作表中的批注类似于这些评语,让我们能够为单元格添加评语,为单元格传递更丰富的信息。 Comment对象 Comment对象代表单元格批注。如下图1所示,单击“审阅”选项卡中的“新建批注”命令 […]
  • 2014年04月18日 制作条形——折线混合图 (0)
    完美Excel公众微信号:excelperfect 引子:近期正跟着peltiertech.com学习图表,太强大了,如果再这样下去的话,不知道我是否会又迷上图表。 下面是peltiertech.com上的一篇图表制作技巧,在Excel中制作条形图和折线图的混合图表,与大家分享。 数据如下图所示。列E为计算列D和列C的百分比,即Won/Open。列F是制作XY散 […]
  • 2011年04月15日 Excel图表编程应用大全(3):示例-使用饼图汇总 (0)
    引言:本文来源于《Pro Excel 2007 […]

转载  http://www.excelperfect.com/index.php/2009/12/01/excelchartapplywithvba2/

时间: 2024-10-06 05:15:21

Excel图表编程应用大全(2):图表编程基础的相关文章

php常用编程工具大全整合下载

php常用编程工具大全整合下载 1.EditPlus <ignore_js_op>   EditPlus是一套功能强大,可取代记事本的文字编辑器,拥有无限制的Undo/Redo.英文拼字检查.自动换行.列数标记.搜寻取代.同时编辑多文件.全屏幕浏览功能.对于很多php程序来说,EditPlus 非常简单好用.同时EditPlus也是一款好用的HTML编辑器,除了可以颜色标记HTML Tag (同时支持C/C++.Perl.Java)外,还内建完整的HTML和CSS1指令功能,对于习惯用记事本编

java编程规范大全

JAVA编程规范大全 命名规范 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失.(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) Package 的命名 Package 的名字应该都是由一个小写单词组成. Class 的命名 Class 的名字必须由大写字母开头而其他字母都小写的单词组成 Class 变量的命名 变量的名字必须用一个小写字母开头.后面的单词用大写字母开头. Static Final 变量的命名 Static

C#编程总结(二)多线程基础

C#编程总结(二)多线程基础 无论您是为具有单个处理器的计算机还是为具有多个处理器的计算机进行开发,您都希望应用程序为用户提供最好的响应性能,即使应用程序当前正在完成其他工作.要使应用程序能够快速响应用户操作,同时在用户事件之间或者甚至在用户事件期间利用处理器,最强大的方式之一是使用多线程技术. 多线程:线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.如果某个线程进行一次长延迟操作, 处理器就切换到另一个线程执行.这样,多个线程的并行(并发)执行隐藏了

socket编程之三:socket网络编程中的常用函数

这节本来打算先给出常用函数介绍,再给两个代码实例,写着写着发现越来越长,决定把代码放在下一节. 本节内容持续更新...... 1 socket()函数 原型: int socket(int domain, int type, int protocol); 描述: 类似打开一个文件,返回一个socket描述符,唯一标识一个socket,后面相应的操作都是这用这个socket描述符. 参数: domain:协议族,常用的协议族有AF_INET.AF_INET6.AF_LOCAL.AF_ROUTE等:

JAVA编程“性能说”(java编程需要做的26件事)

转载于 http://www.csdn.net/article/2012-06-01/2806249 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了. 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方. 1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 控

编程技巧之表格驱动编程

/* Image format-dependent operations. */ typedef struct { jas_image_t *(*decode)(jas_stream_t *in, char *opts); /* Decode image data from a stream. */ int (*encode)(jas_image_t *image, jas_stream_t *out, char *opts); /* Encode image data to a stream.

Python编程中常用的12种基础知识总结

原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换目标: 将字符串line中的 overview.gif 替换成其他字符串 1 2 3 4 5 6 7 8 9 10 11 >>> lin

JAVA笔记26-网络编程(不等于网站编程)

一.网络基础(TCP/IP详解) 1.IP协议(Internet Protocol):网络层,支持网间数据报通信.无连接数据报传送,数据报路由选择和差错控制. IPv4 32位(4字节),IPv6 128位(16字节).P ping ICMP协议 2.TCP协议.UDP协议 (1)TCP(transmission control protocol 打电话):专门设计用于在不可靠的因特网上提供可靠的.端到端的字节流通信的协议.它是一种面向连接的协议.有三次握手.慢 (2)UDP(user data

Python 编程中常用的 12 种基础知识总结

Python 编程中常用的 12 种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换 目标:将字符串line中的 overview.gif 替换成其他字符串 >>> line = '<IMG ALIGN="middle" SRC=\'#\'" /s