Я пытаюсь запустить цикл в VBA со следующим утверждением:Большие/меньшие заявления о неисправности в VBA?
...
If Range("K" & h).Value >= mingreen Then
...
ч начинается на 4, а значение К4 составляет 0,75 (но это происходит от формулы). mingreen - 0,5. Поэтому утверждение должно быть правдой. Но почему-то он возвращает false. На самом деле, когда ячейка является формулой, кажется, что оператор = = не работает вообще. Почему это и есть ли способ обойти это?
Какие данные 'mingreen'? Вариант, Двухместный? Вы пытались использовать 'Value2' вместо' Value'? – Bond
Можете ли вы опубликовать тип 'minigreen' и формулу, которую вы используете? Я смог запустить это в своем Excel, и это сработало (обратите внимание: 'minigreen' является' Integer', 'Dim minigreen как Integer: minigreen = .5'). Убедитесь, что 'h' также является' Integer'. Когда я использовал эту строку, она работает: 'If Range (« K »& 4) .Value> = minigreen Затем debug.print« True! »', Опять же это с 'Dim minigreen as Integer'. – BruceWayne
@BruceWayne - Почему вы тестируете, используя целые числа, когда у него есть значения с плавающей запятой? «Двойной» был бы лучшим выбором. Ваш 'minigreen = .5' просто станет' 0'. – Bond