excel - 如何设置 Windows 类的 FreezePanes 属性?
问题描述
我严重依赖“Microsoft Project”。我的大多数同事都没有“Microsoft Project”,所以我使用 VBA 将项目进度表导出到 Excel。
有时,我会遇到此错误消息
“无法设置 Windows 类的 FreezePanes 属性”
部分VBA代码如下。
Dim xlSheet As Excel.Worksheet
xlwindow.Split = True
xlwindow.SplitColumn = AbsoluteColumnPos - 1
xlwindow.SplitRow = 3
xlwindow.FreezePanes = True ' **
我不知道如何解决这个错误,但它总是在某个时候消失。
我可以通过在 Microsoft Word 中使用此 VBA 代码进行测试来检查这是否特定于从 Project 到 Excel 的迁移。
Sub Excel_Test()
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
xlApp.Workbooks.Add
xlApp.Activesheet.Range("B3") = 5
With xlApp.ActiveWindow
.Split = True
.SplitRow = 4
.SplitColumn = 11
.FreezePanes = True
End With
End Sub
相同的错误信息
“无法设置 windows 类的 freezepanes 属性”
一直出现。
解决方案
首先,你不应该需要这一行:
xlwindow.Split = True
其次,您可能会先尝试解冻,因为我不能 100% 确定您的代码是否完整,因此围绕您在此处发布的内容可能会发生什么,以及冻结是否可能已经开始运行。换句话说,尝试:
xlwindow.FreezePanes = False
xlwindow.SplitColumn = AbsoluteColumnPos - 1
xlwindow.SplitRow = 3
xlwindow.FreezePanes = True
推荐阅读
- amazon-dynamodb - 在 Javascript 中使用分区键和二级索引查询 DynamoDB
- python - 赫斯顿模型和参数估计
- html - HTML 中的正确分层
- r - 使用 Shiny ActionButton 选择所有行或将所有行添加到当前视图中的选择中,并在 DT 数据表中进行过滤
- linux - 用于检查多个服务器中的连接性的 bash 脚本(避免 ECDSA 密钥,您确定要...)
- html - 没有 routerLink 的 ion-item 的悬停效果
- c++ - 与“if constexpr”一起使用的编译时间消息(在预处理器之后)
- python - 使用正则表达式从文本中提取键和值
- ruby - (Ruby)while循环停止我的代码运行
- c++ - 布尔比较运算符如何在 C++ 中工作