这次下断点, 拿到公式字符串之后, 直接放Excel公式栏里, CTRL+SHIFT+ENTER, 奇迹发生了, 没有提示错误, 并且返回了正确结果, 这个问题, 牛就牛在这里了, 普通人想不到, 鉴于我是个普通人, 所以我就是没有想到. (先让我再废话下, 答案就在最后)
想到的方法, 就是录制宏了, 呵呵, 不知道是不是我思维比较奇怪哈~~
录制完毕, 运行... 居然还是提示"不能设置类range的formulaArray属性", 这不是神了嘛~~ VBA就这么弱撒, 还能产生这种错误(是VBA弱还是Excel弱????)
想不出来, 只好瞎捣鼓, 捣鼓了半天, 一不小心发现了新大陆, 注意了,
我把公式删掉了一段, 只剩一个条件, 运行, 通过; 没个条件都试了, 都通过. 这也该啊, 本来就是宏录制的嘛! 那还能怎么搞? 难道公式太长了, Excel消化不了? 看来 也只能是这个问题了.
我是不是说了太简单了? 大家看到这里还没发现问题的解决方法?
注意, 这个问题没办法解决, 只能想办法缩短公式长度, 当然, 你能换公式的话, 也就更好了哈~~
数字(
Range
.NumberFormatlocal
属性
)
常规:
Range
.NumberFormatlocal = "G/通用格式"
数值:
Range
.NumberFormatlocal = "0.000_ " --保留小数位数为3
Range
.NumberFormatlocal = "0" --不要小数
Range
.NumberForm
selectselect方法是VBA中最常见的方法。不仅仅可以用于
range
,也可以用于其他对象,如工作表,工作簿等等。顾名思义,select方法就是要选中对象,这些对象可以是单个对象,也可以是一组多个对象的集合。对
range
执行select方法,就相当于在Excel里用鼠标来框选单元格。例如,如果执行下面语句,系统就会显示相应的单元格被选中。
Range
("a1:b2, c4:d5")copy/c...
Range
([a5], es).Copy Worksheets("记录保存").Cells(a + 1, 1).Cells(a + 1, "h").Resize(es.Row - 4) = Now() '保存日期时间。.Cells(a + 1, "f").Resize(es.Row - 4) = [b2] '保存入库单。.Cells(a + 1, "g").Resize(es.Row - 4) = [e2] '保存供应商。With Worksheets("记录保存")Sub 保存1111()
今天遇到一个神奇的问题,之前一直使用很好的代码突然报错:“
类
Range
的AutoFill方法无效”,在网上搜索了一番,感觉没有一个与我遇到的情况相同的。debug,查看一下代码,发现程序里,AutoFill前后指定的是相同的区域。不知道是不是因为这个原因,只能自己手动测试到底什么情况才会产生这个提示了。
写了一段测试代码:
Worksheet she...
服务器升级OFFICE后,出现
不能
设置
类
PageSetup 的 PaperSize
属性
的问题,查找后是因为打印机
设置
中没有任何打印机的原因,使得页面
设置
失败,在添加任意打印机后,程序运行正常
生成excel的时候提示:
不能
设
类
Range
的Columnwidth
属性
。
可能是因为
设置
Columnwidth的值过大或过小,本人在做程序时遇到因Query字段值
设置
过大,在比较DBGRID宽度与字段宽度取最大值时,发现值比较值大,就会出现这种错误。
直销系统时发生。DELPHI 5
获取或
设置
分页符的位置。 可以是以下 XlPageBreak 常量之一: xlPageBreakAutomatic、 xlPageBreakManual 或 xlPageBreakNone。 读/写。
rng.PageBreak
rng是一个表示
Range
对象的变量。
此
属性
可以返回自动或手动分页符的位置,但只能
设置
手动分页符的位置 (只能
设置
为 xlPageBreakManual 或 xlPageBreakNone) 。
要清除工作表的所有手动分页符,请将 Cells.Page
式计算其值,用
类
似于下面的语句:
Excel.
Range
rngCell = oSheet.get_
Range
("A1", mValue);rngCell.NumberFormat = "#,##0.00";
其中适用于
Range
集合的NumberFormat
属性
用于:返回或
设置
对象的格式代码。...