在EXCEL添加一个曲线图,请问在VB里怎么把一个数组 Data(1024)的数据在EXCEL画出来?
在EXCEL添加一个曲线图,请问在VB里怎么把一个数组 Data(1024)的数据在EXCEL画出来? 本帖最后由 bcrun 于 2010-11-25 23:15:28 编辑 你只需要把数组的数据写到EXCEL,然后记录做成图的宏,在VB里调用楼上没做过,忽必烈
给你个代码参考一下:
Private Sub Command2_Click()
Dim XLApp As New Excel.Application
Dim XLWorkBook As New Excel.Workbook
Dim XLWorkSheet As New Excel.Worksheet
Set XLApp = CreateObject("Excel.Application")
Set XLWorkBook = XLApp.Workbooks.Add
Set XLWorkSheet = XLWorkBook.Worksheets(1)
XLApp.Visible = True
For j = 0 To MSFlexGrid1.Cols - 1
If j = 0 Or j = MSFlexGrid1.Cols - 1 Then
MSFlexGrid1.Col = j
For i = 0 To MSFlexGrid1.Rows - 2
MSFlexGrid1.Row = i
If i = 0 Or j = 0 Then
XLWorkSheet.Cells(i + 1, j + 1).NumberFormatLocal = "@"
XLWorkSheet.Cells(i + 1, j + 1).Value = MSFlexGrid1.Text
Else
XLWorkSheet.Cells(i + 1, j + 1).Value = Format(Val(MSFlexGrid1.Text), "#0.00")
End If
Next i
End If
Next j
XLWorkBook.Charts.Add
XLWorkBook.ActiveChart.ChartType = xlColumnClustered
XLWorkBook.ActiveChart.Legend.Clear
XLWorkBook.ActiveChart.SetSourceData Source:=XLWorkSheet.Range("Q2:Q8"), PlotBy:=xlColumns
XLWorkBook.ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R2C1:R8C1"
XLWorkBook.ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
XLWorkBook.ActiveSheet.Shapes("图表 1").IncrementLeft -205.5
XLWorkBook.ActiveSheet.Shapes("图表 1").IncrementTop -125.75
XLWorkBook.ActiveSheet.Shapes("图表 1").ScaleWidth 1.82, msoFalse, msoScaleFromTopLeft
XLWorkBook.ActiveSheet.Shapes("图表 1").ScaleHeight 1.97, msoFalse, msoScaleFromTopLeft
XLWorkBook.ActiveChart.Axes(xlCategory).TickLabels.Font.Size = 12
补充:VB , 基础类