Это потому, что не так работает проверка данных в Excel. Вам нужно использовать активный X-контроль. См. Страницу проверки данных Contextures в целом и ее примеры ComboBox Data Validation и ComboBox Depend в частности.
Обновить
Если вы используете ее примеры, замените обработчик события TempCombo_KeyDown на TempCombo_KeyUp. По крайней мере, на моем Excel (Excel 2003 SP2) он падает.
Больше подробностей о примере, на который я вам указал:
Я не уверен, почему замена TempCombo_KeyDown на TempCombo_KeyUp работает, но это может быть связано с KeyCode. MSDN подразумевает, что KeyCode на самом деле является указателем и для всех практических целей передается через ref, хотя в подписи написано ByVal. Сбой всегда происходит в строке End Sub строки TempCombo_KeyDown.
Это только предположение с моей стороны, но, обработав событие KeyDown, после активации новой ячейки, если у нее есть TempCombo, тогда объект активируется и может обработать событие KeyUp. Если целевая ячейка не активирует TempCombo, событие KeyUp не имеет действительной ссылки на объект, и вы получаете неприятный сбой.