为什么“With x.Chart”会产生编译错误

时间:2021-05-31 13:38:48

标签: excel vba variables scatter-plot

另一个相同的图形问题 - VBA 不喜欢我在命名范围之前创建系列的方式。我还有 4 个变量:IF UPDATE (User_fullname) BEGIN DECLARE @newfullname nvarchar(MAX); DECLARE @oldfullname nvarchar(MAX); -- SELECT @oldfullname = i.User_fullname FROM deleted i; SELECT @newfullname = i.User_fullname FROM inserted i; -- INSERT INTO UsersLogs (UL_user_key_r, UL_date, UL_oldname, UL_newname, UL_IsDeleted) VALUES (@user_key, GETDATE(), @oldfullname, @newfullname, 0) END 。我已经编写了以下代码(从 L2 开始):

ChtL1Obj As ChartObject, ChtL1 As Chart, ChtL2Obj As ChartObject, ChtL2 As Chart

问题是,代码不会编译。在 Range("Q31").Select Set ChtL2Obj = ActiveSheet.ChartObjects.Add(Left:=1075, Width:=450, Top:=465, Height:=225) Set ChtL2 = ChtL2Obj.Chart With ChtL2.Chart .ChartType = xlXYScatter .SeriesCollection.NewSeries .SeriesCollection(1).Name = "QC Level 2" .SeriesCollection(1).XValues = RngL2X .SeriesCollection(1).Values = RngL2Y End With 处,我收到“编译错误:未找到方法或数据成员”。

错误在哪里?

1 个答案:

答案 0 :(得分:0)

错误正是 GSerg 所建议的。

当您设置 ChtL2 时,您将引用 ChtL2 等于 ChtL2Obj.Chart

Set ChtL2 = ChtL2Obj.Chart

所以你需要把With ChtL2.Chart改为With ChtL2

With ChtL2
    .ChartType = xlXYScatter
End With

表示与ChtL2.ChartType = xlXYScatter 或ChtL2Obj.Chart.ChartType = xlXYScatter 相同