2014-09-10 40 views
0

單元格未填充公式,但在其中寫入了「FALSE」。任何想法如何改變,以便公式顯示正確?沒有錯誤消息,但..在單元格中寫入「動態」公式

'code 
q = 1 
Do Until q = 10 
    q = q + 1 
    If Cells(q, 4).HasFormula Then 
    Else 
    If IsEmpty(Cells(q, 4)) Then 
    Cells(q, 4).Formula = Cells(q, 4).Formula = "=IFERROR(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE),)" 
    End If 
    End If 
Loop 

'code 

編輯:更新的代碼

非常感謝!

+0

什麼你的意思是「它不能正常工作」嗎?它會拋出一個錯誤嗎?它什麼都不做?它做了什麼,但不是你所期望的? – AJPerez 2014-09-10 08:19:09

+0

我希望現在更清楚 – 2014-09-10 08:22:06

+0

你可以輸入你正在嘗試的確切公式。我的意思是,你如何在Excel Cell – 2014-09-10 08:22:58

回答

0

的.Formula屬性要求使用美國區域設置,所以:

Cells(q, 5).Formula = "=IF(ISNA(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE)),"""",VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE)" 

另外,如果你在使用Excel 2007或更高版本,我建議IFERROR:

Cells(q, 5).Formula = "=IFERROR(VLOOKUP(E" & q & ",Lagerplätze!A:B,2,FALSE),"""") 
+0

謝謝,那肯定是其中的一個錯誤!但仍然沒有顯示公式,但它只是一個「FALSE」.. – 2014-09-10 10:52:33

+0

只要注意到您將公式放在E列中,但您也在查找E列。您不能那樣做 - 它創建一個循環引用。 – Rory 2014-09-10 10:58:53

+0

那不是問題,它應該填充D,通過查找列E.打字錯誤;我更新了代碼 – 2014-09-10 11:10:26

1

您需要使用&字符用Q可變

Cells(q, 4).Formula = "=IF(ISNA(VLOOKUP(D" & q & ";Lagerplätze!A:B;2;FALSE));"""";VLOOKUP(D" & q & ";Lagerplätze!A:B;2;FALSE))" 

編輯來串聯式的文字:新增失蹤右括號。

+0

+ 1擊敗我:D – 2014-09-10 08:28:34

+1

@SiddharthRout ......我甚至知道什麼'Lagerplätze '是沒有諮詢字典:-)) – teylyn 2014-09-10 08:30:13

+0

它告訴我我得到一個objectrelated錯誤,當我嘗試.. – 2014-09-10 08:31:15

相關問題