[VBA ] IF函數內如何使用變數

看板Visual_Basic作者 (神之左手魔之右手)時間15年前 (2010/04/17 17:19), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串1/1
小弟請教一個關於變數的問題 以下程式是我程式的其中一段 <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)

04/17 20:26, , 1F
不是if函數不能用 是RC絕對位置不能用變數
04/17 20:26, 1F

04/17 20:30, , 2F
硬要用的話 就把它視為字串來處理
04/17 20:30, 2F

04/17 20:32, , 3F
EX "=IF(RC[-" & aaa & "]:R[" & bbb & "100]C[-1..."
04/17 20:32, 3F

04/17 23:09, , 4F
使用字串處理後,卻顯示“無法設定種類 Range 的
04/17 23:09, 4F

04/17 23:10, , 5F
無法設定formulaArray 的屬性。經由偵錯方式,變數已
04/17 23:10, 5F

04/17 23:12, , 6F
經有顯示數值,但就是會有錯誤。
04/17 23:12, 6F

04/17 23:12, , 7F
謝謝你的幫忙
04/17 23:12, 7F

04/17 23:20, , 8F
我跑沒問題也.....
04/17 23:20, 8F

04/17 23:24, , 9F
有錯誤可能是有bug 看一下你的例子 最後一個逗號後面
04/17 23:24, 9F

04/17 23:25, , 10F
,-RC[-5]:R[100]C[-1] 是不是有多一個「-」負號在....
04/17 23:25, 10F
文章代碼(AID): #1BoNqjFP (Visual_Basic)
文章代碼(AID): #1BoNqjFP (Visual_Basic)