首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >excel listObject问题

excel listObject问题
EN

Stack Overflow用户
提问于 2018-05-22 10:04:59
回答 1查看 139关注 0票数 0

我继承了一个充满VBA的电子表格,我几乎一无所知。

当数据被刷新时,电子表格通过VBA重新格式化自身。我不得不更改一些选项卡名和表名,而现在当自动重新格式化在其中启动时,会出现一个错误,因为它正在寻找旧的表名。

对不起,如果这是一个糟糕的解释/术语,我真的从来没有涉及到VBA通常!

所以我得到的错误是

运行时错误“450”:错误的参数数或无效的属性分配

调试带我到了这一行

代码语言:javascript
复制
For Each rptTable In sID.ListObjects
    rptTable.TableStyle = teamName   <--- this is the highlighted line in debug
    oldSize = rptTable.ListRows.Count
    If oldSize < teamSize Then

teamName有新的值,rptTable.TableStyle有旧的值。

这些变量的定义如下:

代码语言:javascript
复制
Sub FormatSheet(sID As Worksheet)
'Clear debugWindow
Call clearDebugConsole
Application.StatusBar = "Formatting Teamsheet ... "

'Change Active Sheet to the Sheet being Formatted
Worksheets(sID.Name).Activate

Debug.Print "* Entered FormatSheet Sub"

' Set Variables
....
Dim rptTable As ListObject

我基本上是想弄清楚ListObject是如何填充的,旧名字是从哪里取来的?excel电子表格中的全局搜索不会找到它

EN

回答 1

Stack Overflow用户

发布于 2018-05-22 10:19:05

好的,“团队名称”的值似乎与TableStyles中的任何内容不相对应。

停止该行上的代码,并查看值变量teamname持有的值。表样式中需要存在值。我猜是有空字符串。你需要给它分配一些类似"TableStyleMedium2“之类的东西。您可以在设计带状->表样式中找到这些名称。使用没有空格的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50464958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档