gpt4 book ai didi

vba - Activesheet 与工作表对象

转载 作者:行者123 更新时间:2023-12-04 20:14:35 24 4
gpt4 key购买 nike

在我使用的工作表工具中,我有一个指向 Sharepoint 列表的链接表。我编写的宏会刷新表格并删除任何过滤器(如果有的话)。

我通过快速更改代码解决了此代码的问题,但我不太明白为什么 activesheet 引用解决了这个问题,并希望从其他开发人员的 VBA 经验中获得一些反馈。代码如下:

代码抛出错误:工作表类的方法失败

  Dim ResourceTableSheet As Worksheet

Set ResourceTableSheet = ThisWorkbook.Worksheets("ResourceTableSheet")
If (ResourceTableSheet.AutoFilterMode And ResourceTableSheet.FilterMode) Or ResourceTableSheet.FilterMode Then
ResourceTableSheet.ShowAllData <-- **method of worksheet class failed error here**
End If

分辨率 - 工作代码
  Dim ResourceTableSheet As Worksheet
Set ResourceTableSheet = ThisWorkbook.Worksheets("ResourceTableSheet")

ResourceTableSheet.Activate
If (ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode) Or ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If

最佳答案

这在评论中有点跳动,但根据我的经验,除非对象(工作表、图表等)是事件/选定的对象,否则某些事情是行不通的。我没有明确的 list ,但我过去遇到过同样的问题并按照您的方式解决了它(使对象处于事件状态)。

我也从来不知道为什么会这样。我花了一些时间寻找,但最终只是把它写下来,因为微软是微软,然后继续前进。

关于vba - Activesheet 与工作表对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30432217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com