我有一个Excel VBA脚本,它从存储在变量ListObject
中的范围创建一个表(Storytable
),然后应用列表格式。
此行的位置参数版本可以正常工作:
Set Tbl = ActiveSheet.ListObjects.Add(xlSrcRange, StoryTable, , xlYes)
我更喜欢使用命名参数,但命名参数会导致"无效的过程调用或参数"错误(错误代码5)在这一行:
Set Tbl = ActiveSheet.ListObjects.Add(SourceType:=xlSrcRange, Source:=StoryTable, TableStyleName:=xlYes)
尽管这与Excel在线帮助中为ListObjects.Add
方法提供的示例非常相似。
一些实验表明,即使在该行的第一个版本中仅命名最终参数TableStyleName:=xlYes
也足以触发错误。
我在这里做错了什么?
答案 0 :(得分:0)
您最初提供的第四个参数xlYes
称为XlListObjectHasHeaders
,而不是TableStyleName
。 TableStyleName
是第六个参数,它不接受xlYes
作为有效选项。
online help不仅在命名参数时出错,而且过时且不包含TableStyleName
。