Я не совсем понимаю, что вы имеете в виду, тем более что вы не говорите, какая ошибка возникает в какой строке вашего кода. Возможно, ваша жалоба заключается в том, что сравнение не дает ожидаемого результата. В любом случае, ваша переменная PackageOptions
имеет переменную типа данных Variant, содержащую строку, которая должна содержать именно то, что Cell.Value
, хотя ваш вспомогательный экран показывает ее как String.
PackageOptions = cell.Value
- очень грубое, но надежное сравнение. Убедитесь, что оба элемента относятся к одному типу данных. Используйте Cstr(PackageOptions)
, чтобы преобразовать вариант в строку. Возможно, используйте его для обоих значений: Cstr(PackageOptions) = Cstr(cell.Value)
.
Функция StrComp () дает больше возможностей для настройки, но, как следует из названия, сравнивает две строки. Поэтому результат не будет другим. Функция ниже сравнивает текст без учета регистра. Он вернет 0 (ноль), если обе строки равны.
StrComp(Cstr(PackageOptions), Cstr(cell.Value), VbTextCompare)