作者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