如何控制Excel表中的UsedRange的界限???????
(setq rg (vlax-get-propertysh 'usedrange)) ;用指定的字符串创建工作表范围对象有时都达到无穷大了,除了手工控制EXCEL的数据使用区域,如何去掉多条的“空”行和空列?????????
是真遇到一个用户表,真的使用区域搞的无穷大,程序直接运行进入漫长等待,而且提取和行、列都是无穷大,所以还是要对无用区域进行判断和处理。
(setq vvv (vlax-get-property rg 'Value)) ;获取范围对象的值
(setq ttt (vlax-safearray->list (vlax-variant-value vvv))) ;转换为list
本帖最后由 ssyfeng 于 2023-9-19 08:38 编辑
应该不会出现无穷大吧,难道全都使用了。判断是否空值,再删除行列,或者用CountA函数判断 你需要具备vba的知识,如何获取表格“真实”最大行和最大列
三个方式
1.Range("A1").Currentregion
2.usedRange
3.cells(rows.count, "A").end(xlup).row
以上三个方法都 有局限,确实有的用 户表设的用 户使用区域很大,无法控制
更用 VLISP控制,因为在表中数据中间有可能出现多个空行或空列,所以也没想出什么好办法来筛选。。 请教,为什么(setq UsedRange (vlax-get-property sh "UsedRange") )返回#<VLA-OBJECT Range 0000024d27240238>,我以为应该返回类似”A1,E9“的字符串呢.
页:
[1]