標題:
如何在VBA中寫入EXCEL公式?
[打印本頁]
作者:
mnsmrtl
時間:
2010-8-18 17:46
標題:
如何在VBA中寫入EXCEL公式?
如題,我想利用VBA在儲存格中寫入公式,如=VLOOKUP(A3,SHEET1!A:M,3,FALSE)
但由於A3中的3,想以變數代入
所以我是這樣寫的:
Do while CONDITION1
Sheet2.Cell(x,"A")="=VLOOKUP(A" & X & ",DDE!A:M,3,FALSE)"
loop
結果偵錯卻說必須是陳述式結尾,請問怎麼寫比較好?請先進指點一二~感謝
作者:
Hsieh
時間:
2010-8-18 18:36
Sheet2.Cell(x,"A")="=VLOOKUP(A" & X & ",DDE!A:M,3,FALSE)"
作者:
solely
時間:
2010-8-18 20:43
Sheet2.Cell(x,"A")="=VLOOKUP(A" & X & ",DDE!A:M,3,FALSE)"
Hsieh 發表於 2010-8-18 18:36
等號兩邊都是Sheet2!A,不是會造成循環參照?!
作者:
kimbal
時間:
2010-8-18 21:39
回復
3#
solely
會的, 應該是樓主自行解決後沒回來了
作者:
Hsieh
時間:
2010-8-18 21:40
回復
3#
solely
那就看你的公式到底是要做怎樣參照
這只針對你語法錯誤做解答
你的A2公式是要參照A?
?是你要知道的變數帶入
作者:
mnsmrtl
時間:
2010-8-18 22:26
本帖最後由 mnsmrtl 於 2010-8-18 22:33 編輯
不知道是不是不能打太長…
.Cells(x,4)="=if(vlookup(A" & x & ",DDE!$A: $M,4,false)=vlookup(A" & x & ",DDE!$A: $M,9,false),"不破",
(vlookup(A" & x & ",DDE!$A: $M,9,false)/vlookup(A" & x & ",DDE!$A: $M,3,false)-1)*100"
我是寫成這樣,它回覆訊息是「編繹錯誤,必須是陳述式結尾」,如果直接key在儲存格應該是:
=if(vlookup(a3,DDE!$A: $M,4,false)=vlookup(A3,DDE!$A: $M,9,false),"不破",
(vlookup(A3 ,DDE!$A: $M,9,false)/vlookup(A3,DDE!$A: $M,3,false)-1)*100)
反白的地方在「"不破"」這裡…
不知道是公式本身有錯,還是在vba寫的時候弄錯了…
感謝各位幫忙,小弟已經找到問題了,在「"不破"」處必須用""不破""才行,已經解決了^^~不勝感激^^
作者:
Hsieh
時間:
2010-8-18 23:32
本帖最後由 Hsieh 於 2010-8-18 23:37 編輯
回復
6#
mnsmrtl
錄製一個有包含"的公式就知道問題出在哪裡了
"=if(vlookup(A" & x & ",DDE!$A: $M,4,false)=vlookup(A" & x & ",DDE!$A: $M,9,false),""不破"",(vlookup(A" & x & ",DDE!$A: $M,9,false)/vlookup(A" & x & ",DDE!$A: $M,3,false)-1)*100"
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)