[问题] vba增加标题及座标轴标题

楼主: fishman0612 (精灵)   2020-08-04 16:44:59
Sub chart()
Dim i%, arr, arr1, mychart As chart
On Error Resume Next
If Sheet1.ChartObjects.Count > 0 Then Sheet1.ChartObjects.Delete
arr = Range("d2:g146")
Sheet1.ChartObjects.Add(ActiveCell.Left, ActiveCell.Top, 400, 150).chart
Set mychart = Sheet1.ChartObjects(1).chart
With mychart
.ChartType = xlXYScatterLinesNoMarkers
.HasLegend = False
.Axes(xlValue).MajorGridlines.Delete
.Axes(xlValue).Delete
With .Axes(xlCategory)
.MajorTickMark = xlNone
.TickLabelPosition = xlNone
.Format.Line.Weight = 2
End With
End With
For i = 1 To UBound(arr)
mychart.SeriesCollection.NewSeries
With mychart.SeriesCollection(i)
.XValues = "sheet1!$d$" & i + 2 & ":$e$" & i + 2
.Values = "sheet1!$f$" & i + 2 & ":$g$" & i + 2
If Cells(i + 2, 3) <= 90 Then
.Format.Line.ForeColor.RGB = RGB(0, 0, 255)
ElseIf Cells(i + 2, 3) <= 180 Then
.Format.Line.ForeColor.RGB = RGB(0, 0, 255)
ElseIf Cells(i + 2, 3) <= 270 Then
.Format.Line.ForeColor.RGB = RGB(0, 0, 255)
Else
.Format.Line.ForeColor.RGB = RGB(0, 0, 255)
End If
.Format.Line.EndArrowheadStyle = msoArrowheadWide
.Format.Line.EndArrowheadWidth = msoArrowheadNone
.Format.Line.Weight = 0.75
End With
Next i
End Sub
想询问若上方vba程式想加
1.图表标题‘’风向及风速‘’
2.y轴标题"风速(m/s)"
3.在图上加曲线及副座标轴、标题"温度",资料范围为U3~U146
另外想询问垂直格线可以只显示一条吗?(比如在X=72(X轴中间的位置)处显示垂直格线就
好),若可以的话要怎么加在此VBA语法中呢?
作者: soyoso (我是耀宗)   2020-08-04 17:28:00
1.图表标题,with mychart内加,setelement(..charttitle...)、hastitle、charttitle.text2.y轴标题,with mychart内加,setelement(...primaryvalueaxistitle...)、hastitle(于axes(...).hastitle)、axistitle.text3.资料再加入数列内,该数列设为副座标轴axisgroup,副座标轴标题setelement(...secondaryvalueaxistitle...)、axes(...).axistitle.text只显示一条,新增个数列(xy散布图),以误差线
楼主: fishman0612 (精灵)   2020-08-04 18:44:00
感谢S大,不好意思,因为我完全没写过vba,内文是现成的程式,想询问读取副座标轴的资料该如何加入此段程式中呢?感谢您的回复!
作者: soyoso (我是耀宗)   2020-08-04 20:02:00
加入于循环结束后,newseries新增u3:u146这个范围到数列,values就为"工作表1!u3:u146",接着axisgroup设为副座标轴;标题setelement(...secondaryvalueaxistitle...)、axes(...).axistitle.text

Links booklink

Contact Us: admin [ a t ] ucptt.com