我正在尝试创建一个用户友好的工作表,用户可以在其中使用增长类型“ xlLinear”或“ xlGrowth”来确定是否希望其数据系列增长。
我创建了一个列表框,其中的选择是“线性”或“增长”。从那里,我希望根据该ListBox中的填充类型填充数据系列。到目前为止,我收到了“范围类失败的DataSeries方法”错误,该错误已归因于数据系列代码中的“类型”参数。
我对vba还是很陌生,尽管我尝试使用.Value,.Text和范围本身来提取ListBox单元格的内容。我不认为是ListBox的问题,因为删除ListBox并简单地键入“ Linear”或“ Growth”时会发生相同的问题。
下面,“ RevStream1GrowthType”是指ListBox单元。该代码的第一部分没有问题-仅第二部分。
With ThisWorkbook.Worksheets("Inputs")
Range(.Range("RevStream1Ter").Offset(0, 3 + HistoricNumber + AnalystNumber), .Range("RevStream1GrowthValue")).Name = "Test1"
.Range("Test1").DataSeries Rowcol:=xlRows, Type:="xl" & .Range("RevStream1GrowthType"), Date:=xlDay, Trend:=True
End With
答案 0 :(得分:1)
xlLinear
(实际上是xlDataSeriesLinear
)和xlGrowth
是Excel XlDataSeriesType
枚举的成员,您可以通过枚举名称,点号和然后是所需成员(例如:XlDataSeriesType.xlGrowth
)或直接按其值(例如,对于xlDataSeriesLinear为-4132
)。您无法使用字符串(常量或变量)调用所需的枚举:"xlLinear"
或"xlGrowth"
不起作用。
因此,您必须使用某些函数,该函数将列表框作为输入,以返回正确的XlDataSeriesType
枚举值。
like
.Range("Test1").DataSeries Rowcol:=xlRows, Type:=IIf(.Range("RevStream1GrowthType").Value = "Linear", xlLinear, xlGrowth), Date:=xlDay, Trend:=True