|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 yipzx 于 2012-4-12 17:55 编辑
- Attribute VB_Name = "模块1"
- Sub myAddxyChartSeries()
- Dim aChart, nS, i As Long, stR As String, iChartIndex As Integer
- Dim sRng As Range, xRng As Range, yRng As Range, lRng As Range
- stR = "Please select a Chart:" & vbLf
- With ActiveSheet.ChartObjects
- If .Count = 0 Then
- MsgBox "ActiveSheet.ChartObjects.Count=0"
- Exit Sub
- End If
- For i = 1 To .Count
- stR = stR & vbLf & i & " - " & .Item(i).Name
- Next i
- Do Until iChartIndex > 0 And iChartIndex <= .Count
- iChartIndex = Application.InputBox(Prompt:=stR, Default:=1, Type:=1)
- Loop
- Set aChart = .Item(iChartIndex).Chart
- End With
-
- Do
- Set sRng = Application.InputBox(Prompt:="xyChart:", Type:=8)
- Loop Until sRng.Areas.Count = 1 And sRng.Rows.Count > 1 And sRng.Columns.Count = 3
-
- Set lRng = sRng.Offset(1, 0).Resize(sRng.Rows.Count - 1, 1)
- Set xRng = sRng.Offset(1, 1).Resize(sRng.Rows.Count - 1, 1)
- Set yRng = sRng.Offset(1, 2).Resize(sRng.Rows.Count - 1, 1)
-
- Set nS = aChart.SeriesCollection.NewSeries
- nS.Name = "='" & sRng.Worksheet.Name & "'!" & sRng.Resize(1, 1).Address
- nS.ChartType = xlXYScatter
- nS.XValues = xRng
- nS.Values = yRng
- For i = 1 To nS.Points.Count
- nS.Points(i).HasDataLabel = True
- nS.Points(i).DataLabel.text = "='" & sRng.Worksheet.Name & "'!" & lRng.Offset(i - 1, 0).Resize(1, 1).Address
- Next i
-
- End Sub
复制代码
|
|