Прежде всего, прошу прощения за любую не технически правильную терминологию ...
Я написал макрос, который циклически просматривает отделы для выбранного магазина, создавая отдельный рабочий лист для каждого отдела, а затем публикуя его в формате PDF с каждым отделом на отдельной странице. В зависимости от выбранного хранилища число отделов может быть от 1, 11 или 12. Я использую именованный диапазон (rngDeptX) в книге Excel для хранения названий отделов, которые затем использую для заполнения массива в VBA. Процесс работает должным образом для экземпляров 11 или 12 отделов, но я получаю ошибку несоответствия типов для экземпляра 1 отдела.
Соответствующие строки кода должны быть ниже ...
Массив arrSheets используется позже в процессе и не вызвал никаких ошибок. Он заполняется теми же значениями, что и массив d, массив d - это механизм, используемый для циклического перебора имен отделов. Как указывалось ранее, процесс работает, как и ожидалось, если число отделов равно 11 или 12. Я перебираю код и выражение d = Range ("rngDeptX") возвращает правильный отдел, когда при наведении на него указателя появляется ошибка несоответствия типов. , Должен ли я сделать что-то другое, если для массива есть только один элемент? Я искал, но не нашел аналогичных вопросов.
Спасибо за вашу помощь.
Dim arrSheets() As String, DptCnt As Long 'array of Department names, size of array
'determine required size of arrays, set size of arrays
DptCnt = WorksheetFunction.CountA(Range("rngDeptX"))
ReDim arrSheets(1 To DptCnt)
Dim d() As Variant
d = Range("rngDeptX") <= this is where the error occurs