返回列表 上一主題 發帖

如何在VBA中寫入EXCEL公式?

如何在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
結果偵錯卻說必須是陳述式結尾,請問怎麼寫比較好?請先進指點一二~感謝
不進則退

Sheet2.Cell(x,"A")="=VLOOKUP(A" & X & ",DDE!A:M,3,FALSE)"
學海無涯_不恥下問

TOP

Sheet2.Cell(x,"A")="=VLOOKUP(A" & X & ",DDE!A:M,3,FALSE)"
Hsieh 發表於 2010-8-18 18:36


等號兩邊都是Sheet2!A,不是會造成循環參照?!

TOP

回復 3# solely


    會的, 應該是樓主自行解決後沒回來了
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

回復 3# solely
那就看你的公式到底是要做怎樣參照
這只針對你語法錯誤做解答
你的A2公式是要參照A?
?是你要知道的變數帶入
學海無涯_不恥下問

TOP

本帖最後由 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寫的時候弄錯了…

感謝各位幫忙,小弟已經找到問題了,在「"不破"」處必須用""不破""才行,已經解決了^^~不勝感激^^
不進則退

TOP

本帖最後由 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"
學海無涯_不恥下問

TOP

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題