|
- Sub ht()
- Dim ch As ChartObject, ws As Worksheet
- Dim lastrow&
- Application.ScreenUpdating = False
- Set ws = Worksheets("sheet1")
- If ws.ChartObjects.Count > 0 Then ws.ChartObjects.Delete
- lastrow = ws.Range("a" & Rows.Count).End(xlUp).Row
- For i = 1 To 5 '''''''>>>>>>>>>>>>>>>>>>>>
- Set ch = ws.ChartObjects.Add(ws.Cells(16 * i, 2).Left, ws.Cells(16 * i, 2).Top, 360, 215) '设置图表的位置
- ch.Name = ["图标题"]
-
-
-
- With ch.Chart
- .ChartType = xlXYScatterSmooth
- .SeriesCollection.NewSeries
- .SeriesCollection(1).Values = ws.Range(Cells(2, 1 + i), Cells(lastrow, 1 + i)) '''''>>>>>>>>>>>>>>>>>>
- .SeriesCollection(1).XValues = ws.Range("a2:a" & lastrow)
- ' .SeriesCollection(1).Name = [c2]
-
- .SeriesCollection(1).Border.Color = RGB(0, 0, 0) '图形线条颜色
-
- .SeriesCollection(1).MarkerStyle = xlMarkerStyleCircle '数据标记类型
- .SeriesCollection(1).MarkerForegroundColor = RGB(0, 0, 0) '标记点外圈颜色
- .SeriesCollection(1).MarkerBackgroundColor = RGB(0, 0, 0) '标记点颜色
-
-
- Set Rng = ws.Range("a2:a" & lastrow) '设置横坐标的最大最小值
- Set Rng1 = ws.Range(Cells(2, 1 + i), Cells(lastrow, 1 + i)) '''''''''''>>>>>>>>>>>>>>>>>>
- maxValue = Application.Max(Rng)
- minValue = Application.Min(Rng)
-
- max1Value = Application.Max(Rng1)
- min1V1alue = Application.Min(Rng1)
-
-
-
-
- .SeriesCollection.NewSeries
-
- .SeriesCollection(2).Values = ws.Range("L18:L19")
- .SeriesCollection(2).XValues = ws.Range("K18:K19")
-
- '.SeriesCollection(2).Name = [L18]
-
- .SeriesCollection(2).Border.Color = RGB(0, 0, 0)
- End With
-
-
-
-
-
- With ch.Chart.Axes(xlValue, xlPrimary) '纵坐标设置
-
- .MajorUnit = 0.5 '设置纵坐标轴主要刻度单位
-
- '.CrossesAt = .MinimumScale
- '.MinimumScale = ws.[e2]
- .MaximumScale = 10 '纵坐标最大值
- .MinimumScale = Int(min1V1alue) '纵坐标最小值
-
-
- .TickLabels.Font.Size = 10 '设置纵坐标轴字体大小
-
- .HasTitle = True ' 显示这个坐标轴的标题
- .AxisTitle.Text = "高程(m)" ' 设置标题为"Temp(Degree)"
- .AxisTitle.Orientation = xlVertical '设置标题竖排显示
-
- .MajorGridlines.Border.ColorIndex = 2
-
- .Format.Line.Weight = 2 ''''''''''''''>>>>>>>>>>>>>>>>>>>
-
-
- End With
-
-
-
- With ch.Chart.Axes(xlCategory) '横坐标设置
-
- .TickLabels.Font.Size = 10 '设置横坐标轴字体大小
-
- .HasTitle = True ' 显示这个坐标轴的标题
- .AxisTitle.Text = "起点距(m)" ' 设置标题为"Temp(Degree)"
- .MinimumScale = 0
- .MaximumScale = Int(maxValue) + 1 '设置横坐标的最大值
-
- .Format.Line.Weight = 2 '''''''>>>>>>>>>>>>>>>>>>
-
- .AxisTitle.Left = ws.[B16].Left + 300 ''''''360>>>>>>>>>>>>>>>>>>>
- .AxisTitle.Top = ws.[B16].Top + 200 ''''''215>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
- End With
-
-
-
- With ch.Border
- .ColorIndex = 1 '1=黑色;?2=白色?;?3=红色;?4=绿色;?5=蓝色;?6=黄色?
- .LineStyle = 1 '1=正常;?6=虚线?
- .Weight = xlMedium '设置外框线粗细:xlHairLine,xlThin,xlMedium
-
- End With
-
-
-
-
- With ch.Chart
-
- .HasTitle = True
- .ChartTitle.Text = ch.Name
- .ChartTitle.Font.Size = 15
- .ChartTitle.Left = 100
- .ChartTitle.Top = 2
- .HasLegend = False
- .PlotArea.Width = 347
- .PlotArea.Left = 10
- .PlotArea.Top = 20
- .PlotArea.Height = 181
-
-
-
- ' .Export ThisWorkbook.Path & "\test.gif"
- End With
-
-
-
-
-
-
-
- Next i '''''''''''>>>>>>>>>>>>>>
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|