【问题标题】:Excel VBA, naming arguments causes "invalid procedure call or argument" Error 5Excel VBA,命名参数导致“无效的过程调用或参数”错误5
【发布时间】:2017-06-13 01:40:20
【问题描述】:

我有一个 Excel VBA 脚本,它从存储在变量 Storytable 中的范围创建一个表(ListObject),然后应用列表格式。

这一行的位置参数版本工作正常:

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 也足以触发错误。

我在这里做错了什么?

【问题讨论】:

  • 这是正确的签名Function Add([SourceType As XlListObjectSourceType = xlSrcRange], [Source], [LinkSource], [XlListObjectHasHeaders As XlYesNoGuess = xlGuess], [Destination], [TableStyleName]) As ListObject

标签: vba excel


【解决方案1】:

您最初提供xlYes 的第四个参数称为XlListObjectHasHeaders,而不是TableStyleNameTableStyleName 是第六个参数,它不接受xlYes 作为有效选项。

online help不仅参数命名错误,而且已经过时,不包括TableStyleName

【讨论】:

  • 这很有帮助,谢谢!显然,我需要更加警惕在线帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多