Vba 在不同图纸的单个XY散点图上绘制多个曲线
我有10张床单。每个图纸都有x值和y值,我想在一个xy散点图中绘制它们。我写了下面的代码。它适用于一张图纸,但不适用于所有图纸。此外,我不知道如何用特定的名称命名每个系列(它可以是对每个工作表中特定单元格的引用)。请注意,在每张纸上;x值和y值正好在同一单元格引用中开始和结束。系列名称单元格引用也是如此Vba 在不同图纸的单个XY散点图上绘制多个曲线,vba,Vba,我有10张床单。每个图纸都有x值和y值,我想在一个xy散点图中绘制它们。我写了下面的代码。它适用于一张图纸,但不适用于所有图纸。此外,我不知道如何用特定的名称命名每个系列(它可以是对每个工作表中特定单元格的引用)。请注意,在每张纸上;x值和y值正好在同一单元格引用中开始和结束。系列名称单元格引用也是如此 Sub PlotPcVsSwAllSheets() Dim ch As Chart Dim Sw As Range Dim Pcres As Range Dim ws As Worksheet
Sub PlotPcVsSwAllSheets()
Dim ch As Chart
Dim Sw As Range
Dim Pcres As Range
Dim ws As Worksheet
Set ch = ActiveSheet.Shapes.AddChart(xlXYScatter).Chart
For Each ws In Worksheets
Set ws.Sw = ws.Range("C23", Range("C23").End(xlDown))
Set ws.Pcres = ws.Range("AA23", Range("AA23").End(xlDown))
With ch
ch.SetSourceData Source:=Union(ws.Sw, ws.Pcres)
End With
Next ws
End Sub
您需要逐个添加每个系列
子绘图PCVSSWallsheets()
模糊查斯图
变暗Sw As范围
调暗Pcres作为量程
将ws作为工作表,wb作为工作簿
设置wb=ThisWorkbook
设置ch=ActiveSheet.Shapes.AddChart(xlXYScatter.Chart)
'删除默认添加的任何系列
当ch.SeriesCollection.Count>0时执行此操作
第1章。删除
环
对于wb.工作表中的每个ws
设置Sw=ws.范围(“C23”,ws.范围(“C23”)。结束(xlDown))
将Pcres=Sw.EntireRow.Columns(“AA”)设置为“安全”
使用ch.SeriesCollection.NewSeries
.xvalue=Sw
.Values=Pcres
.Name=ws.Range(“A3”).Value,例如
以
下一个ws
端接头
谢谢,但它不起作用。它为sheet1绘图,但在下一张图纸上,它会给出错误消息(对象“\u工作表”的方法“Range”失败)。执行Set Sw=ws.Range(“C23”、ws.Range(“C23”).End(xlDown))行时出错。此外,在执行AddChart line之后,它会在上面的几次编辑中获取图表中的其他可用数据-这对我很有用。