2010-08-10 74 views
1

我在VBA中編寫了一些代碼,我的代碼在此行中引發了應用程序定義的錯誤或對象定義的錯誤。VBA代碼應用程序或對象錯誤的問題

.Formula = "=IF(AND(chr(34) & ' & chr(34) & Criterion " & i & "'!" & cellAdress & ">=1;chr(34) & ' & chr(34) & Criterion " & i & "'!" & cellAdress & "<=4);chr(34) & ' & chr(34) & Criterion " & i & "'!" & cellAdress & ";0)" 

我真的試圖檢查什麼是錯的,但它看起來也很好。請讓我知道什麼是錯的,以及如何解決它。

謝謝

+1

與此同時,也許你可以去檢查一下你以前的問題是否可以接受一些答案? :) – Tomalak 2010-08-10 09:13:21

回答

0

我想你想

.Formula = "=IF(AND('Criterion " & i & "'!" & cellAdress & ">=1;'Criterion " & i & "'!" & cellAdress & "<=4);'Criterion " & i & "'!" & cellAdress & ";0)" 

至少這會產生一個有效的和明智的單元格的公式,你的沒有。

隨着cellAdress設置爲"A1"i設置爲10,結果將是:

"=IF(AND('Criterion 10'!A1>=1;'Criterion 10'!A1<=4);'Criterion 10'!A1;0)" 
+0

我首先嚐試了這個,但是它產生了同樣的錯誤,有人建議我加上引號: = IF(and(「'Criterion」&i&「'!」&cellAdress & ">=1;「'Criterion」&i &「'!」&cellAdress&「<= 4);」'Criterion「&i&」'!「&cellAdress & "; 0) 但是,我的VB在第一個」and「作爲評論。我試圖用chr(34)來逃避它。那可能是什麼錯誤?我試圖檢查你的代碼,但是excel表示公式包含錯誤。 thx – niuchu 2010-08-10 10:00:47

+0

@niuchu:我的VBA編輯器,我剛剛測試過它,它接受這是一個合法的代碼,它可以產生我在答案中顯示的字符串。並且Excel將該字符串作爲完全有效的單元格公式接受。你做錯了什麼。提示:也許你應該檢查一下'cellAdress'和'i'包含什麼。 – Tomalak 2010-08-10 10:14:05

0

好吧,我現在明白了。我的VBA在運行之前也不會產生任何錯誤。也許我在查看這段代碼太久而發瘋了。我的單元格地址包含D18,而且我包含1.我有一張名爲Criterion 1的表格,此表格中的單元格的值爲2(當它爲空時,我也嘗試過)。這個錯誤仍然存​​在,我不知道是什麼導致它。

相關問題