作者kgreatheart (神之左手魔之右手)
看板Visual_Basic
标题[VBA ] IF函数内如何使用变数
时间Sat Apr 17 17:19:38 2010
小弟请教一个关於变数的问题
以下程式是我程式的其中一段
<1>
AAA=5
BBB=101
ActiveSheet.Range(Cells(2, ActiveSheet.Columns.Count).
End(xlToLeft).Offset(, 1), Cells(1 + BBB, ActiveSheet.Columns.Count).
End(xlToLeft).Offset(, AAA)).FormulaArray =
"=IF( RC[- AAA]:R[BBB -1]C[-1]>0,,-RC[- AAA]:R[BBB -1]C[-1])"
由於执行程式时没办法执行,所以使用侦错"执行至游标处"
发现在 IF 函数後的变数,游标靠近变数并没有被代换成数值
但 IF 函数前的变数,游标靠近变数确实有显示正确的数值
<2>
但是当我将 IF 函数後的变数直接改成数值,如下
ActiveSheet.Range(Cells(2, ActiveSheet.Columns.Count).
End(xlToLeft).Offset(, 1), Cells(1 + BBB, ActiveSheet.Columns.Count).
End(xlToLeft).Offset(, AAA)).FormulaArray =
"=IF( RC[-5]:R[100]C[-1]>0,,-RC[-5]:R[100]C[-1])"
这段程式是可以执行的。
是 IF 函数内没办法使用变数吗?
有办法可以使用变数,但也同时可以执行程式吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.232.30
※ 编辑: kgreatheart 来自: 114.32.232.30 (04/17 17:20)
1F:推 unfinish:不是if函数不能用 是RC绝对位置不能用变数 04/17 20:26
2F:→ unfinish:硬要用的话 就把它视为字串来处理 04/17 20:30
3F:→ unfinish:EX "=IF(RC[-" & aaa & "]:R[" & bbb & "100]C[-1..." 04/17 20:32
4F:→ kgreatheart:使用字串处理後,却显示“无法设定种类 Range 的 04/17 23:09
5F:→ kgreatheart:无法设定formulaArray 的属性。经由侦错方式,变数已 04/17 23:10
6F:→ kgreatheart:经有显示数值,但就是会有错误。 04/17 23:12
7F:→ kgreatheart:谢谢你的帮忙 04/17 23:12
8F:→ unfinish:我跑没问题也..... 04/17 23:20
9F:→ unfinish:有错误可能是有bug 看一下你的例子 最後一个逗号後面 04/17 23:24
10F:→ unfinish:,-RC[-5]:R[100]C[-1] 是不是有多一个「-」负号在.... 04/17 23:25