Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Проблема производительности макроса после SQl запроса
 
Супер! спасибо
Проблема производительности макроса после SQl запроса
 
Извиняюсь, точку убрал т.к. думал, что это вызывает ошибку, такая форма записи мне непривычна. Спасибо! Теперь все быстро и корректно запускается с любого листа.
Проблема производительности макроса после SQl запроса
 
Опечатку заметил, ошибка возникает дальше при попытке запуска с другого листа ( на листе OPEX_fact отрабатывает по красоте)
Код
arr = Range("b2").Resize(LastRow, 1).Value

Цитата
Type mismatch
Проблема производительности макроса после SQl запроса
 
Ругается на строку
Код
arr(i, 1) = DateSerial(Year(cell), Month(cell), Day(cell))

Цитата
Subscript out of range
Проблема производительности макроса после SQl запроса
 
Добрый день! Написал макрос (код в приложении, сам файл выкладывать не хотелось бы из-за большого объема и персональной информации, да и суть вопроса не в этом), смысл которого достаточно прост: в столбце В даты записаны как "31.01.2018  9:58:42" (в таком виде выгружаются из БД), я хочу оставить в значениях только дату. Все работает замечательно, за пару секунд обрабатывается весь массив, как и ожидалось. В книге есть odbc подключение, которое обновляет значения на листе при refresh all. Если после выполнения sql запроса я запускаю макрос на листе, в котором производится операция, то все отрабатывает в секунды. Но стоит мне попробовать воспроизвести макрос с другого листа, и выполнение простейшей операции замедляется многократно. Никаких ошибок и вылетов не происходит, данную закономерность я заметил далеко не сразу, и пробовал сам разобраться: отключить все, что может замедлять в Application, пробовал поставить sheet.select или activate в начале макроса - толку ноль. Если после выполнения запроса я вручную активирую лист, потом перехожу на любой другой и уже с него запускаю макрос, то проблем нет, если без активации - получаю существенное замедление. Я знаю, что проблема высосана из пальца, и ничто не мешает мне запускать макрос с того же листа. Можно добиться того же результата с помощью формул, ну или поизварщаться с sql и решить проблему на корню. Но в будущем меня ждет больше работы по взаимодействию макросов и sql, поэтому хотелось бы понять конкретно что может так замедлять процесс. Буду благодарен за ваши подсказки и советы
P.S. на роль крутого программиста вообще не претендую, учусь по ходу дела)
Страницы: 1
Наверх