2010-08-10 1 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

ответ

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 (и ("'Criterion" & i & "'!" & CellAdress & ">=1; «Критерий» & i & "'!" & cellAdress & "<= 4);"' Criterion "& i &" '! "& cellAdress & "; 0) Однако мой VB добавлял пространство между первым« и »созданием контента после появления последнего как комментарий. Я попытался сбежать, используя chr (34). Что тогда может быть неправильным? Я попытался проверить ваш код, но excel говорит, что формула содержит ошибку. thx – niuchu

+0

@niuchu: Мой редактор VBA, где я только что протестировал его, принимает это как юридический код, который производит именно строку, которую я показываю в ответе. И Excel принимает эту строку как совершенно правильную формулу ячейки. Вы делаете что-то неправильно. Подсказка: может быть, вам стоит проверить, что в вашей ситуации есть «cellAdress» и 'i'. – Tomalak

0

Хорошо я теперь понимаю. Мой VBA также не вызывает никаких ошибок до тех пор, пока я не запустится. Возможно, я слишком долго смотрю этот код и схожу с ума. Мой адрес ячейки содержит D18 и i содержит 1. У меня есть лист, называемый Критерием 1, и ячейка на этом листе имеет значение 2 (я также пытался, когда он был пуст). Тем не менее эта ошибка возникает, и я не знаю, что ее вызывает.

Смежные вопросы