您好,我尝试创建包含许多系列的xy散点图。对于每个系列,我必须选择从D列开始的每第8列作为x轴值,从H列开始的每第8列作为y轴值。必须这样做直到表格中已填充(含值)列的数量为止。 我尝试编写代码,但这似乎不起作用。非常感谢您的帮助,因为我将不得不为许多工作表和文件执行此操作。 代码如下。 非常感谢。
Sub Macro2()
Dim ws As Worksheet
Dim i As Integer
Dim j As Integer
Dim ws_count As Integer
Dim cht As Chart
Dim lCol As Long
Dim lRow As Long
Dim chtobjt As ChartObject
Dim rngChtData As Range
Dim rngChtXVal As Range
Dim xval As Range
Dim yval As Range
ws_count = ThisWorkbook.Worksheets.Count
MsgBox ("Total number of sheets" & ws_count)
For Each ws In ThisWorkbook.Worksheets
'Find the last non-blank cell in column A(1)
lRow = ws.Cells(Rows.Count, 5).End(xlUp).Row
'Find the last non-blank cell in row 1
lCol = ws.Cells(5, Columns.Count).End(xlToLeft).Column
MsgBox "Last Row: " & lRow & vbNewLine & _
"Last Column: " & Columns(lCol).Address(False, False)
MsgBox (lCol)
ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmoothNoMarkers).Select
MsgBox (ActiveChart.Name)
i = 4
j = 1
For i = 4 To lCol Step 8
a = ws.Cells(5, i).Address
a1 = ws.Cells(lRow, i).Address
b1 = ws.Cells(lRow, i + 4).Address
b = ws.Cells(5, i + 2).Address
With ActiveChart.ChartArea
.SeriesCollection.NewSeries
.FullSeriesCollection(j).XValues = "=" & ws.Range(a, a1)
.FullSeriesCollection(j).Values = "=" & ws.Range(b, b1)
End With
j = j + 1
Next i
i = i + 8
Next
End Sub