2016-11-17 51 views
0

我目前寫這個公式在Excel中使用VBA(它的工作原理)寫在excel中「IF(A2)IS NULL」使用VBA

Cells(r, c).Formula = "IF(COUNTIF($C:$C,C" & r & ")=COUNTIFS($C:$C,C" & r & ",$" & col & ":$" & col & "," & col & r & "),""PRODUIT"",""ARTICLE""))" 

現在,我想一個條件添加到該公式:

如果單元格爲空白;然後返回「」;否則,我的實際公式

所以,我想這一點:

Cells(r, c).Formula = "=IF(C" & r & " = " " ;"";IF(COUNTIF($C:$C,C" & r & ")=COUNTIFS($C:$C,C" & r & ",$" & col & ":$" & col & "," & col & r & "),""PRODUIT"",""ARTICLE""))" 

我需要一些幫助,在此先感謝和抱歉,我的英語不好。

+1

兩種情況:(1)細胞的化學式,(2)電池具有空白(或空單元格)。簡單地獲取單元格的值,如果與空(即「」「')不同並且與空白不同(即」「」),則它是公式,否則分配空字符串。你的代碼不是這樣更容易和更易讀嗎? – FDavidov

+0

哦,真的嗎?我不知道它在vba中的工作情況如何!這很奇怪,因爲在「經典」公式中「」=「」。感謝您的建議,我現在就試試:) –

+1

如果您有任何其他問題,請告知我。 – FDavidov

回答

1

如果要檢查單元格是否爲空(空字符串),我寧願使用Chr(34)以使公式字符串中有""

所以公式應該是:

Cells(r, c).Formula = "=IF(C" & r & "=" & Chr(34) & Chr(34) & " ;" & Chr(34) & Chr(34) & ";IF(COUNTIF($C:$C,C" & r & ")=COUNTIFS($C:$C,C" & r & ",$" & col & ":$" & col & "," & col & r & "),""PRODUIT"",""ARTICLE""))" 
+0

坦克爲你提供幫助,但它花費了4倍以上的時間(壞PC),所以我只是添加了一個循環'If Cells(r,c-1)=「」Then'。再次感謝您的時間,祝您有個愉快的日子 –

+1

@ Verd'O歡迎您 –

+0

如果您想要在問題中發佈相同的公式,您應該在雙引號之間加一個空格。 'IF(C2 =「」,' – Niclas