我正在尝试创建散点图,其中每个绘图点的点颜色、标记大小和标记样式都是根据我的数据表中的参数设置的。
我的表有大约50行数据,横跨六列A到F。列A=名称,B=X坐标,C=Y坐标,D=标记大小,E=标记样式,F=标记颜色。我正在尝试绘制散点图,其中每个点在形状、大小和颜色上看起来都不同于其他点,这取决于表中该行的相应列中的值。
我已经构建了VBA来创建散点图,它工作得很好,并且我得到了正确的点标签,这表明我从每个点的表中获得了正确的信息。然而,当我尝试改变大小、形状和颜色参数时,所有的点都改变了(即它们都变成了紫色大小为5的三角形),而不是每个点都由自己的参数驱动。
被难住了。非常感谢您的帮助或建议。
发布于 2021-01-20 08:54:32
我不确定在你的情况下的细节是什么,但我得到了以下代码来工作在下面的电子表格。

Sub TestScatter()
Dim p As Point
Dim i As Long
ActiveSheet.ChartObjects("Chart 1").Activate
i = 1
For Each p In ActiveChart.SeriesCollection(1).Points
i = i + 1
p.MarkerSize = Cells(i, 4)
Select Case Cells(i, 5)
Case "Circle"
p.MarkerStyle = xlMarkerStyleCircle
Case "Square"
p.MarkerStyle = xlMarkerStyleSquare
Case "Triangle"
p.MarkerStyle = xlMarkerStyleTriangle
Case Else
p.MarkerStyle = xlmarkerstyledefault
End Select
Select Case Cells(i, 6)
Case "Red"
p.MarkerBackgroundColor = RGB(255, 0, 0)
p.MarkerForegroundColor = RGB(255, 0, 0)
Case "Green"
p.MarkerBackgroundColor = RGB(0, 255, 0)
p.MarkerForegroundColor = RGB(0, 255, 0)
Case "Blue"
p.MarkerBackgroundColor = RGB(0, 0, 255)
p.MarkerForegroundColor = RGB(0, 0, 255)
Case Else
p.MarkerBackgroundColor = RGB(0, 0, 0)
p.MarkerForegroundColor = RGB(0, 0, 0)
End Select
Next p
End Subhttps://stackoverflow.com/questions/65801430
复制相似问题