2010-08-10 76 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(当它为空时,我也尝试过)。这个错误仍然存​​在,我不知道是什么导致它。

相关问题