我正在尝试将图表添加到工作表中,然后根据特定范围的单元格定位它。我正在使用.top,.left等函数,它一直给我一个错误,我的对象不支持使用的方法。我究竟做错了什么?!这是我的代码:
Sub AddCharts()
Range("O1").Select
Dim sh As Worksheet
Dim chrt As Chart
Dim lastrow As Long
lastrows = Range("A2").End(xlDown).Row
Set sh = ActiveWorkbook.Worksheets("TraceTable")
Set chrteit = sh.Shapes.AddChart.Chart
With chrteit
.ChartType = xlXYScatter
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = sh.Range(Cells(2, 6), Cells(lastrows, 6))
.SeriesCollection(1).Values = sh.Range(Cells(2, 7), Cells(lastrows, 7))
.HasTitle = True
.ChartTitle.Text = "EIT"
.Height = Range("N2:N14").Height
.Width = Range("N2:T2").Width
.Top = Range("N2").Top
.Left = Range("N2").Left
End With
End Sub
答案 0 :(得分:5)
要继续查看原始帖子下面的评论,请尝试替换:
.Height = Range("N2:N14").Height
.Width = Range("N2:T2").Width
.Top = Range("N2").Top
.Left = Range("N2").Left
使用:
.Parent.Height = Range("N2:N14").Height
.Parent.Width = Range("N2:T2").Width
.Parent.Top = Range("N2").Top
.Parent.Left = Range("N2").Left
答案 1 :(得分:2)
Chart
没有.Top
,.Left
等属性,但是它的父容器,ChartObject
确实有那些属性。
而不是.Height =
做.Parent.Height =
等等。
.Parent.Height = Range("N2:N14").Height
.Parent.Width = Range("N2:T2").Width
.Parent.Top = Range("N2").Top
.Parent.Left = Range("N2").Left