Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
При транспозиции массива возникает ошибка 13 Type mismatch
 
Добрый день, уважаемые форумчане.
Во время транспозиции массива с данными возникает ошибка Runtime error 13 Type mismatch. Не могу понять в чем причина, искал во многих источниках все равно, не могу понять причину и как ее излечить. В VBA новичок, поэтому и прошу помощи.
При чем макрос нормально отрабатывает если количество записей в массиве до 40-50К, как только их становится больше 60К возникает эта ошибка. Подозреваю что где-то в размерностях натупил, но найти не могу.

Ошибка возникает в этом месте в коде - строка № 80.

Код
        x = UBound(test2)
            test2 = Application.Transpose(test2)
            ReDim Preserve test2(1 To 3, 1 To x - them + 1)
            test2 = Application.Transpose(test2)
            test2(UBound(test2), 1) = Empty
            test2(UBound(test2), 2) = Empty
            test2(UBound(test2), 3) = Empty
    Loop

 
Подскажите, пожалуйста, в чем ошибся.
Работа с диалоговым окном открытия файла
 
Добрый день, уважаемые форумчане.
Как сделать так, чтобы при нажатии кнопки "Отмена" в диалоговом окне открытия файла выполнялось одно действие, а при выборе необходимого файла другое макрос выполнялся до конца?

Начинаю изучать VBA, поэтому не все получается, что хотелось бы. Прошу помочь в одной ситуации которую пока что не получается решить. Пробовал искать по форуму и по многим другим форумам и ресурсам, но ответа так и не нашел или не понял что нашел (возможно плохо или не так искал) :-).
Есть код, в котором данные в файл берутся из разных источников-файлов, которые пользователь должен выбрать самостоятельно (прописать их в коде нельзя, т.к. они хранятся в различных местах и каждый из пользователей самостоятельно решает как их назвать и где хранить). Макрос предназначен для сведения данных и выяснения результатов работы операторов колл-центра, и по каждому из операторов существует файл прослушки звонков и файл работы с корреспонденцией, которые и должен выбрать пользователь. В случае, если пользователь выбирает все по порядку файлы - макрос работает нормально, но если необходимо пропустить какой-либо файл, например, оператор не работал с корреспонденцией, и необходимо его показатели заменить на "N/A", макрос заменяет все значения корреспонденции по всем операторам на "N/A". Как победить - не знаю, надеюсь на Вашу помощь.

Проблема вот в этом участке кода:

Код
    For i = 1 To UBound(ar1)                                                'подстановка данных по корреспонденции
        Do Until ar1(i, 4) = Empty
            With Application.FileDialog(msoFileDialogOpen)
                .Title = "Вкажіть файл з розташуванням контролю листування оператора " & ar1(i, 1)
                .Show
                .Execute
            End With
 If Show = False Then
 ar1(i, 14) = "N\A"
            ar1(i, 15) = "N\A"
            ar1(i, 16) = "N\A"
            ar1(i, 17) = "N\A"
            ar1(i, 18) = "N\A"
        Else
            let1() = Range("A10", ActiveSheet.Range("A10").End(xlDown).Offset(1, 19)).Value      'данные для определения результата обработки писем
            let2() = Range("J10:T30").Value                                                      'данные для определния остальных показателей обработки писем
            ActiveWorkbook.Close
            ar1(i, 14) = let1(UBound(let1), 20)                                                   'перенос результата писем в основной массив
            Erase let1

Изменено: ASKer_mk - 11 сен 2014 16:38:12
Страницы: 1
Наверх