这个人是个卖蛋糕的?
帖子如下:把MSChart画到EXCEL的模块
'调用方法:
'dim aa as Boolean
'aa = ToExcel(3, 5, MSChart1)
'作者:中国农业大学 杜运庆
'主页:http://www.51dangao.com/
'我主页上有200个大学的校园风景屏幕保护,找里面的“本站软件”
'如果你喜欢,请用QQ推荐给你的同学,谢谢 Public Function ToExcel(ByVal X As Integer, ByVal Y As Integer, Chart As MSChart) As Boolean
Dim i As Integer
Dim j As Integer
Dim XlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Set XlApp = CreateObject("Excel.Application")
Set xlBook = XlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For i = 0 To Chart.RowCount - 1
Chart.Row = i + 1
For j = 0 To Chart.ColumnCount - 1
Chart.Column = j + 1
If IsNull(Chart.Data) = False Then
xlSheet.Cells(i + X, j + Y) = Chart.Data
End If
Next j
Next i For i = 0 To Chart.RowCount - 1
Chart.Row = i + 1
xlSheet.Cells(i + X, j + Y) = Chart.RowLabel
Next i '计算范围
B4F8 = Chr(64 + Y) & (X) & ":" & Chr(64 + Y + Chart.ColumnCount - 1) & X + Chart.RowCount - 1
'画
'xlSheet.Range(B4F8).Select
xlBook.Charts.Add
xlBook.ActiveChart.ChartType = xlColumnClustered
xlBook.ActiveChart.SetSourceData Source:=xlBook.Sheets("Sheet1").Range(B4F8), PlotBy:= _
xlColumns
xlBook.ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With xlBook.ActiveChart
.HasTitle = True
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
Select Case Chart.ChartType
Case VtChChartType3dBar
.ChartType = xl3DColumn
Case VtChChartType2dBar
.ChartType = xlColumnClustered
Case VtChChartType3dLine
.ChartType = xl3DLine
Case VtChChartType2dLine
.ChartType = xlLine
Case VtChChartType3dArea
.ChartType = xl3DArea
Case VtChChartType2dArea
.ChartType = xlArea
End Select
End With
'计算行标签的数据
C4C8 = "R" & X & "C" & Chart.ColumnCount + Y & ":R" & Chart.RowCount + X & "C" & Chart.ColumnCount + Y
'行标签
For i = 1 To Chart.ColumnCount
xlBook.ActiveChart.SeriesCollection(i).XValues = "=Sheet1!" & C4C8
Next i
'背景颜色是白色
xlBook.ActiveChart.PlotArea.Interior.ColorIndex = 2
If ChartType = VtChChartType2dBar Or ChartType = VtChChartType2dLine Then
'前景线是红色
xlBook.ActiveChart.SeriesCollection(1).Border.ColorIndex = 3
'设置线条的粗细
xlBook.ActiveChart.SeriesCollection(1).Border.Weight = xlMedium
End If
''前景柱是红色
If ChartType = VtChChartType2dBar Then
xlBook.ActiveChart.SeriesCollection(1).Interior.ColorIndex = 3
End If '标题一致
xlBook.ActiveChart.ChartTitle.Characters.Text = Chart.Title
'图例一致
For j = 1 To Chart.ColumnCount
Chart.Column = j
xlBook.ActiveChart.SeriesCollection(j).Name = Chart.ColumnLabel
Next j
'去掉工具条
XlApp.CommandBars("Chart").Visible = False
'焦点设为A0的位置
xlSheet.Range("A1").Select
XlApp.Visible = True End Function http://www.51dangao.com
帖子如下:把MSChart画到EXCEL的模块
'调用方法:
'dim aa as Boolean
'aa = ToExcel(3, 5, MSChart1)
'作者:中国农业大学 杜运庆
'主页:http://www.51dangao.com/
'我主页上有200个大学的校园风景屏幕保护,找里面的“本站软件”
'如果你喜欢,请用QQ推荐给你的同学,谢谢 Public Function ToExcel(ByVal X As Integer, ByVal Y As Integer, Chart As MSChart) As Boolean
Dim i As Integer
Dim j As Integer
Dim XlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Set XlApp = CreateObject("Excel.Application")
Set xlBook = XlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
For i = 0 To Chart.RowCount - 1
Chart.Row = i + 1
For j = 0 To Chart.ColumnCount - 1
Chart.Column = j + 1
If IsNull(Chart.Data) = False Then
xlSheet.Cells(i + X, j + Y) = Chart.Data
End If
Next j
Next i For i = 0 To Chart.RowCount - 1
Chart.Row = i + 1
xlSheet.Cells(i + X, j + Y) = Chart.RowLabel
Next i '计算范围
B4F8 = Chr(64 + Y) & (X) & ":" & Chr(64 + Y + Chart.ColumnCount - 1) & X + Chart.RowCount - 1
'画
'xlSheet.Range(B4F8).Select
xlBook.Charts.Add
xlBook.ActiveChart.ChartType = xlColumnClustered
xlBook.ActiveChart.SetSourceData Source:=xlBook.Sheets("Sheet1").Range(B4F8), PlotBy:= _
xlColumns
xlBook.ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With xlBook.ActiveChart
.HasTitle = True
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
Select Case Chart.ChartType
Case VtChChartType3dBar
.ChartType = xl3DColumn
Case VtChChartType2dBar
.ChartType = xlColumnClustered
Case VtChChartType3dLine
.ChartType = xl3DLine
Case VtChChartType2dLine
.ChartType = xlLine
Case VtChChartType3dArea
.ChartType = xl3DArea
Case VtChChartType2dArea
.ChartType = xlArea
End Select
End With
'计算行标签的数据
C4C8 = "R" & X & "C" & Chart.ColumnCount + Y & ":R" & Chart.RowCount + X & "C" & Chart.ColumnCount + Y
'行标签
For i = 1 To Chart.ColumnCount
xlBook.ActiveChart.SeriesCollection(i).XValues = "=Sheet1!" & C4C8
Next i
'背景颜色是白色
xlBook.ActiveChart.PlotArea.Interior.ColorIndex = 2
If ChartType = VtChChartType2dBar Or ChartType = VtChChartType2dLine Then
'前景线是红色
xlBook.ActiveChart.SeriesCollection(1).Border.ColorIndex = 3
'设置线条的粗细
xlBook.ActiveChart.SeriesCollection(1).Border.Weight = xlMedium
End If
''前景柱是红色
If ChartType = VtChChartType2dBar Then
xlBook.ActiveChart.SeriesCollection(1).Interior.ColorIndex = 3
End If '标题一致
xlBook.ActiveChart.ChartTitle.Characters.Text = Chart.Title
'图例一致
For j = 1 To Chart.ColumnCount
Chart.Column = j
xlBook.ActiveChart.SeriesCollection(j).Name = Chart.ColumnLabel
Next j
'去掉工具条
XlApp.CommandBars("Chart").Visible = False
'焦点设为A0的位置
xlSheet.Range("A1").Select
XlApp.Visible = True End Function http://www.51dangao.com
:)
:)
真的?
:)
哈哈 真有此事
:)
-------------------------------------------------------------
泰山?蛋糕?泰山牌蛋糕????????*_*