【发布时间】:2017-07-18 12:49:10
【问题描述】:
我是新的 VBA 用户,正在尝试根据系列名称格式化图表系列。我想使用 vlookup 来引用系列名称并返回定义的 MarkerStyle、MarkerForegroundColor、MarkerSize 等。我想这样做,因为我有一个大的系列名称列表,每个都需要一个唯一的标记,我需要制作大量图表。我已经启动了一个代码,但一直收到 1004 错误:'无法获取 WorksheetFunction 类的 Vlookup 属性':
Sub ChartFormattingVlookup()
Dim mySeries As Series
Dim cht As ChartObject
Dim vbc As Range
Set vbc = Worksheets("VBAChartFormat").Range("A2:I44")
For Each cht In ActiveSheet.ChartObjects
cht.Activate
For Each mySeries In ActiveChart.SeriesCollection
With mySeries
.MarkerSize = Application.WorksheetFunction.VLookup(mySeries, vbc, 7, False)
.MarkerStyle = Application.WorksheetFunction.VLookup(mySeries, vbc, 6, False)
End With
Next mySeries
Next cht
End Sub
如果有任何帮助或建议,我将不胜感激。谢谢!
【问题讨论】:
-
vlookup 的第一个参数中的
mySeries位置不正确。该参数需要一个范围引用或文字字符串,并且您正在传递一个 seriescollection 对象。如果你通过mySeries.Name它将起作用,只要查找表具有系列名称