Excel中的VBA常用图表类指令代码

更新时间:2024-03-23 06:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Excel中的VBA常用图表类指令代码

ActiveSheet.UsedRange.Rows.Count

获取工作表的行数(注:考虑向前兼容性) Cells.Item(5,\ 引单元格 C5 Cells.Item(5,3) 引单元格 C5

Application.WorksheetFunction.IsNumber(\ 使用工作表函数检查 A1单元格中的数据是否为数字

Range(\ 激活单元格区域 A 列中最大值的单元格

Cells(8,8).FormulaArray=\ 在单元格中输入数组公式。注意必须使用 R1C1 样式的表达式 ActiveSheet.ChartObjects.Count 获取当前工作表中图表的个数

ActiveSheet.ChartObjects(\ 选中当前工作表中图表 Chart1

ActiveSheet.ChartObjects(\ 选中当前图表区域

ActiveChart.ChartArea.Select 选中当前图表区域

WorkSheets(\ 更改工作表中图表的图表区的背景颜色

Sheets(\ 更改图表工作表中图表区的颜色 Charts.Add

添加新的图表工作表

ActiveChart.SetSourceData Source:=Sheets(\指定图表数据源并按列排列

ActiveChart.Location Where:=xlLocationAsNewSheet 新图表作为新图表工作表

ActiveChart.PlotArea.Interior.ColorIndex=xlNone 将绘图区颜色变为白色

WorkSheets(\:MyChart.gif\

将图表 1 导出到 C 盘上并命名为MyChart.gif ActiveSheet.ChartObjects.Delete

删除工作表上所有的ChartObject对象 ActiveWorkbook.Charts.Delete

删除当前工作簿中所有的图表工作表

Excel中的VBA常量和编码值所代表的标准图表类型

图表类型——描述——Excel VBA常量—— 编码值 (注:下面按此顺序排列)

—————————————————————————— 柱形图—簇状柱形图— xlColumnClustered — 51 3D簇状柱形图—xl3DColumnClustered—54 堆积柱形图—xlColumnStacked— 52

3D堆积柱形图—xl3DColumnStacked — 55 百分比堆积柱形图— xlColumnStacked100—53

3D百分比堆积柱形图— xl3DColumnStacked100— 56 3D柱形图—xl3DColumn— -4100

—————————————————————————— 条形图 — 簇状条形图—xlBarClustered— 57 3D簇状条形图— xl3DBarClustered— 60 堆积条形图— xlBarStacked— 58 3D堆积条形图— xl3DBarStacked— 61 百分比堆积条形图— xlBarStacked100— 59

3D百分比堆积条形图— xl3DBarStacked100— 62

—————————————————————————— 折线图— 折线图— xlLine— 4

数据点折线图— xlLineMarkers — 65 堆积折线图— xlLineStacked— 63

堆积数据点折线图— xlLineMarkersStacked— 66 百分比堆积折线图— xlLineStacked100— 64

百分比堆积数据点折线图— xlLineMarkersstacked100— 67 3D折线图— xl3DLine— -4101

—————————————————————————— 饼图— 饼图— xlPie— 5

分离型饼图— xlPieExploded— 69 3D饼图— xl3DPie— -4102

分离型3D饼图— xl3DPieExploded— 70 复合饼图— xlPieOfPie— 68 复合条饼图— xlBarOfPie — 71

—————————————————————————— XY(散点)图— 散点图 — xlXYScatter — -4169 平滑线散点图— xlXYScatterSmooth — 72

无数据点平滑线散点图 — xlXYScatterSmoothNoMarkers — 73 折线散点图 — xlXYScatterLines — 74

无数据点折线散点图 — xlXYScatterLinesNoMarkers — 75 —————————————————————————— 气泡图 — 气泡图 — xlBubble — 15 3D气泡图 — xlBubble3DEffect — 87

——————————————————————————

面积图 — 面积图 — xlArea — 1 3D面积图 — xl3DArea — -4098 堆积面积图 — xlAreaStacked — 76

3D堆积面积图 — xl3DAreaStacked — 78

百分比堆积面积图 — xlAreaStacked100 — 77

3D百分比堆积面积图 — xl3DAreaStacked100 — 79

—————————————————————————— 圆环图 — 圆环图 — xlDoughnut — -4120 分离型圆环图 — xlDoughnutExploded — 80

—————————————————————————— 雷达图 — 雷达图 — xlRadar — -4151 数据点雷达图 — xlRadarMarkers — 81 填充雷达图 — xlRadarFilled — 82

—————————————————————————— 曲面图 — 3D曲面图 — xlSurface — 83 曲面图(俯视) — xlSurfaceTopView — 85

3D曲面图(框架图) — xlSurfaceWireframe — 84

曲面图(俯视框架图) — xlSurfaceWireframeTopView — 86 —————————————————————————— 股价图 — 盘高-盘低-收盘图 — xlStockHLC — 88 成交量-盘高-盘低-收盘图 — xlStockVHLC — 90 开盘-盘高-盘低-收盘图 — xlStockOHLC — 89

成交量-开盘-盘高-盘低-收盘图 — xlStockVOHLC — 91 —————————————————————————— 圆柱图 — 柱形圆柱图 — xlCylinderColClustered — 92 条形圆柱图 — xlCylinderBarClustered — 95 堆积柱形圆柱图— xlCylinderColStacked — 93 堆积条形圆柱图 — xlCylinderBarStacked — 96

百分比堆积柱形圆柱图 — xlCylinderColStacked100 — 94 百分比堆积条形圆柱图 — xlCylinderBarStacked100 — 97 3D柱形圆柱图 — xlCylinderCol — 98

—————————————————————————— 圆锥图— 柱形圆锥图 — xlConeColClustered — 99 条形圆锥图 — xlConeBarClustered — 102 堆积柱形圆锥图 — xlConeColStacked — 100 堆积条形圆锥图 — xlConeBarStacked — 103

百分比堆积柱形圆锥图 — xlConeColStacked100 —101 百分比堆积条形圆锥图 — xlConeBarStacked100 —104 3D柱形圆锥图 — xlConeCol — 105

—————————————————————————— 棱锥图 — 柱形棱锥图 — xlPyramidColClustered — 106 条形棱锥图 — xlPyramidBarClustered — 109 堆积柱形棱锥图 — xlPyramidColStacked — 107 堆积条形棱锥图 — xlPyramidBarStacked — 110

百分比堆积柱形棱锥图 — xlPyramidColStacked100 — 108 百分比堆积条形棱锥图 — xlPyramidBarStacked100 — 111 3D柱形棱锥图 — xlPyramidCol — 112

利用以上参数,可用VBA写出批量产生Excel图表的程序。代码如下:

Private Sub cmdCompareSales_Click()

Dim iRows, iChartType, iChartTypeRows As Integer Dim iTemp As Integer

Dim sChartTitle, sCategoryTitle, sValueTitle As String Dim sChartName As String

Dim lArrayChartType(73) As Long, sArrayChartConst(73) As String, sArrayChartExplain(73) As String For iTemp = 0 To 72

lArrayChartType(iTemp) = Sheets(\ sArrayChartConst(iTemp) = Sheets(\ sArrayChartExplain(iTemp) = Sheets(\Next iTemp

Sheets(\sChartTitle = \销售量比较图\sCategoryTitle = \标题\sValueTitle = \标题\

iRows = Sheets(\On Error Resume Next

Sheets(\For iChartType = 0 To 72 Step 1 Charts.Add

ActiveChart.ChartType = lArrayChartType(iChartType)

ActiveChart.SetSourceData Source:=Sheets(\&CStr(iRows)), PlotBy:=xlRows

ActiveChart.Location where:=xlLocationAutomatic, Name:=\ With ActiveChart .HasTitle = True

.ChartTitle.Characters.Text = sChartTitle&sArrayChartConst(iChartType) &sArrayChartExplain(iChartType)

' .ChartTitle.Characters.Text = sChartTitle& \ .Axes(xlCategory, xlPrimary).HasTitle = False

' .Axes(xlCategory, xlPrimary).AxisTitle.Text = sCategoryTitle .Axes(xlValue, xlPrimary).HasTitle = False

' .Axes(xlValue, xlPrimary).AxisTitle.Text = sValueTitle End With

sChartName = Mid(ActiveChart.Name, 8, 6)

ActiveSheet.Shapes(sChartName).Left = Range(\1))).Left

ActiveSheet.Shapes(sChartName).Top = Range(\1))).Top

ActiveChart.ExportThisWorkbook.Path& \&sArrayChartConst(iChartType) & \

Sheets(\Next iChartType End Sub

注意以上的参数存于Sheet2的1至3列中。

本文来源:https://www.bwwdw.com/article/f7r8.html

Top