1.
Обычно ComboBox используется в двух ситуациях:- когда пользователю необходимо выбрать одно или несколько значений из списка размером от 4-х до нескольких десятков позиций. Если позиций меньше, то проще использовать переключатели, если больше — то ориентироваться в списке становится неудобно и необходимо использовать специальные приемы, когда пользователь вводит первые буквы нужного слова и в списке остаются только значения, которые начинаются на эти буквы;
- когда список позиций для выбора необходимо формировать динамически на основании данных из источника (базы данных, листа Excel и т.п.)
Для меня это Combobox, но если для вас это так важно, то это StringEdit. Lookup - это метод.
2.
В executeQuery() Range'у присваиваем значение глобальной переменной (см. шаг 1). Так что дважды я нигде не присваиваю значение.