У меня есть рабочая тетрадь с несколькими листами. В основном один расчетный лист и несколько таблиц базы данных. На листе вычислений есть два поля со списком для управления вводом пользователем двух ячеек, используемых для вычислений (на основе выбора). Результаты расчета отображаются в области заголовка рабочего листа (а не в одной из связанных ячеек комбинированного списка). Одно из событий в выпадающих списках срабатывает при каждом изменении ячейки отдельной уникальной рабочей книги. Я попытался закрыть все рабочие книги, перезагрузить компьютер и запустить новую рабочую книгу с пустыми рабочими листами, а затем открыть свою рабочую книгу. Рабочая книга «application», содержащая выпадающий список, по-прежнему вызывает событие change из новой рабочей книги, даже если между рабочими книгами нет взаимосвязи (не может быть, она была недавно создана).
- перезагрузка ПК
- Перезапуск Excel
- перехват кода изменения комбобокса (кажется, показывает, что он фактически срабатывает два раза подряд).
Private Sub Size_CB_Change()
Worksheets("Calculation").ProcessConnection_CB.ListFillRange = "ProcessConnection"
End Sub
Это может не быть хорошей практикой, но я переназначал источник списка (именованный диапазон Excel), потому что у меня были проблемы с выпадающим списком из списка. Итак, теперь я очищаю и переназначаю именованный диапазон между каждым использованием. Однако это не имеет ничего общего с отдельной новой книгой (которая была новой и пустой, но все еще вызывает событие "Size_CB_Change".
Excel выбрасывает «Ошибка выполнения 9, нижний индекс выходит за пределы диапазона», а «Отладка» идентифицирует подпрограмму Sub Size_CB_Change () как место, где она висит.