我是vba的新手,并试图在excel页面上放置vba图表。以下是代码。如果我更换:定义vba图表位置
Set c = c.Location(Where:=xlLocationAsObject, Name:=chLoc.Parent.Name)
与
Set c = c.Location(Where:=xlLocationAsObject, Name:="Sheet1")
然后代码工作。否则我得到 “错误1004法‘’对象”范围_Worksheet失败” 和行发生错误:
Set chLoc = sh2.Range(sh2.[a1:g10])
这里是代码 - 感谢,如果您有好的资源,VBA图表我将不胜感激任意方向:
Sub Chart()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim xaxis As Range
Dim yaxis As Range
Set sh1 = ActiveWorkbook.Sheets("Spon Email Performance Graph")
Set sh2 = ActiveWorkbook.Sheets("Graphs")
Set xaxis = sh1.Range(sh1.[b15], sh1.[b15].End(xlDown))
Set yaxis = sh1.Range(sh1.[g15], sh1.[g15].End(xlDown))
Dim chLoc As Range
Set chLoc = sh2.Range(sh2.[a1:g10])
' Worksheets("Graphs").ChartObjects.Delete
Dim c As Chart
Set c = Charts.Add
Set c = c.Location(Where:=xlLocationAsObject, Name:=chLoc.Parent.Name)
With c
.ChartType = xlColumnClustered
' set other chart properties
End With
Dim s As Series
Set s = c.SeriesCollection.NewSeries
With s
.Values = yaxis
.XValues = xaxis
' set other series properties
End With
End Sub
IIF你想要的代码更可靠,而不是sh2.Range(SH2 [A1:G10]),使用sh2.Range( “A1:G10”)。 –