【发布时间】:2016-05-31 15:36:45
【问题描述】:
我正在尝试定义一个 VB 宏,它可以根据我的 NormLinear 选项卡中的数据创建散点图。绘图的 y 值数据位于一列中,x 轴数据标签位于另一非连续列中(没有任何 x 值)。我正在尝试保持 y 轴尺寸固定,因为数据已标准化。我希望在 y= 0.25 和 y= 2.5 的绘图中添加可接受的 y 值最大值和最小值线,或者在此范围之外的绘图背景的不同阴影。
我看到了一个图表,但是当我单击该选项卡时,它会被 MS Excel 更改 - 我发现这很奇怪且难以调试。即使我将其设置为 FALSE,图例仍然会出现。 我正在使用运行 OSX v10.9.5 和 MS Office 2011 的 Mac。 感谢您的帮助。
Public Sub aMakeplot()
Dim work_book As Workbook
Dim r As Integer
Dim chart_shape As Shape
Dim i As Long
Dim objSelection As Range, objSrcData As Range, objCategories As Range
Set work_book = Application.ActiveWorkbook
ActiveWorkbook.Sheets("NormLinear").Select
Set objChart = Charts.Add
With objChart
' Set its properties
.ChartType = xlXYScatter
.Location Where:=xlLocationAsNewSheet
.HasTitle = True
.ChartTitle.Text = "Sample Mean Value for all Slides "
.HasLegend = False
.Axes(xlValue).MinimumScale = -3
.Axes(xlValue).MaximumScale = 3
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Sample Descriptions"
End With
' Create a single range from the union of
' categories and selected data, and then
' update the chart.
Set objCategories = ActiveWorkbook.Sheets("NormLinear").Range("h12:h23")
Set objSelection = ActiveWorkbook.Sheets("NormLinear").Range("p12:p23")
Set objSrcData = Union(objCategories, objSelection)
objChart.SetSourceData objSrcData
ActiveWorkbook.Sheets("NormLinear").Select
End Sub
【问题讨论】: