gpt4 book ai didi

excel - 定位图表

转载 作者:行者123 更新时间:2023-12-04 20:52:14 25 4
gpt4 key购买 nike

我的代码,从 sheet1 中的数据绘制图表并将图表放置在 sheet2 的指定位置,在定位命令中被中断:

.Left = Range("B2").Left
.Top = Range("B2").Top

编译错误:

Compile error: Method or data member not found



谁能帮我找出原因?
Sub addchrt()
Dim ws As Worksheet
Dim rng As Range
Dim objChrt As ChartObject
Dim chrt As Chart
Set rng = Sheets("Sheet1").Range("A2:A20,C2:C20")

Set ws = Sheets("Sheet2")
With ws
.Shapes.AddChart
Set objChrt = .ChartObjects(.ChartObjects.Count)
Set chrt = objChrt.Chart
With chrt
.ChartType = xlXYScatterSmoothNoMarkers
.SetSourceData Source:=rng
.HasTitle = True
.ChartTitle.Text = "Test"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "xxx"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "yyyy"
.HasLegend = False
.Left = Range("B2").Left
.Top = Range("B2").Top
End With
End With
End Sub

最佳答案

在您未经编辑的代码中。有一个额外的End With这导致了问题

您尝试访问 .Left.Top Chart 的属性(property)目的。哪个不存在。

但是,ChartObject您拥有的对象确实有 .Left.Top属性(property)。所以那些应该像这样使用

        objChrt.Left = Range("B2").Left
objChrt.Top = Range("B2").Top

您还可以在制作图表时设置图表的位置,就像 Rory 在他的评论中提到的那样,

可以查看相关文档 here . (请注意,我找不到这种精确的 excel 方法,列出了一个类似的 here )

关于excel - 定位图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com