在病态的Excel(我使用Office 10)VBA宏中,我需要捕获用户设法创建具有最大列数或行数的工作表的情况.
我不记得是怎么发生的,我也不在乎; 但我们大多数人都看过Excel工作表的有效工作表大小为16384个单元格宽度和/或1048576个单元格高度 - 即使工作表上只有少数非空单元格.
我只想在VBA代码中检测到这种情况.
一个sheet's Rows.Count
和Columns.Count
过程的返回的数字,我可以检查他们是否等于16384
或1048576
分别.
但是,这些限制取决于版本.
所以我的问题是:
如何在不编码依赖于版本的if语句的情况下获取VBA中给定Excel工作表中行数和列数的最大限制?每个限制值可能有一个常量,但我找不到它.
注意我不是在寻找大小Worksheet.UsedRange
.我想确定是否UsedRange
已经扩展到整个可用的"表空间",这通常只是偶然发生,但是 - 它发生了,我想检测那种情况.
我也不是在寻找每个Excel版本的限制.(这很容易谷歌.)我不想硬编码这些值和版本号.
Joh*_*tos 10
实现此目的的最简单方法是将UsedRange的行数和列数与工作表的行数和列数进行比较.
例如:
If ActiveSheet.UsedRange.Rows.Count = ActiveSheet.Rows.Count Then
... However you want to deal with this scenario ...
End If
Run Code Online (Sandbox Code Playgroud)
与列数类似.
归档时间: |
|
查看次数: |
11670 次 |
最近记录: |