Требуется, чтобы некий макрос книги запускался от ручной процедуры Data\RefreshAll . Понятно, что обратная задача, когда макрос запускает обновление, решается просто, но нужно именно так как спрашивается. Спасибо.
Если я правильно понимаю, объект ListObject принадлежит объекту Worksheet. Поэтому он объявляется как Set lo=ws.ListObjects(loName) С другой стороны, каждый объект ListObject имеет уникальное имя в пределах одной книги, и вроде бы логичным напрашивается способ его объявления через объект Workbook. А то ведь что получается: если я знаю имя таблицы, которую хочу объявить, то мне приходится в цикле пробегать по всем листам книги, пока не натолкнусь на тот, который содержит нужное имя. Решение выглядит как то коряво.
Добрый день. Возникла задача последовательного запуска макросов из разных файлов. Сначала попробовал ее решить с помощью Application.Run, но потерпел неудачу, потому что после того, как первый из макросов завершал работу, процесс останавливался. Пришлось решать задачу с помощью скриптов VBS, где такой проблемы не возникало.
Вопрос такой: задачу принципиально нельзя решить с помощью Application.Run, или я просто чего то не так делаю?
Подробности: - Application.Run запускается в цикле For - действие макроса состоит в обновлении файла через RefreshAll и закрытии файла
Привет. Столкнулся со странным случаем. Хочу получить на странице экселя список файлов из некоторой директории. Пишу код let srs= Folder.Files( path ), rem= Table.RemoveColumns( srs, {"Content"} in rem Файлов в папке path немного, поэтому обновление в редакторе запросов идет почти мгновенно, сохраняю ссылку запроса на листе и обнаруживаю, что он начинает страшно тормозить - образно говоря, цедит по одному файлу. Наудачу, добавляю в запрос строчку let srs= Folder.Files( path ), rem= Table.RemoveColumns( srs, {"Content"}, out=Table.Skip(rem) in out - и все сразу начинает работать как положено - быстро. Причем это не зависит от того какую строку из таблицы удалять первую или последнюю - Table.RemoveLastN дает такой же результат.
Понятно, что дело не том, что из таблицы что-то удаляется, а просто в факте преобразования исходной таблицы ? У кого нибудь есть идеи, почему такое имеет место быть ? Спасибо
Интересуюсь в каком порядке выполняются запросы при команде Refresh All, если у запросов отключено фоновое выполнение. Предположим есть "Запрос 1", результат которого сохранен в таблице "Запрос_1" и есть "Запрос 2", который берет данные из таблицы "Запрос_1". Так вот, как сделать, чтобы команда Refresh All заставляла сначала выполнять "Запрос 1", затем обновлять таблицу "Запрос_1" и в конце выполнять "Запрос 2". Понятно, что задачу можно решить с помощью макроса, который будет запускать обновления в нужном порядке, но хотелось бы именно с помощью Refresh All.
Название столбцов таблицы состоит из цифры и одной из трех букв: A,B,C Нужно переставить столбцы так, чтобы у одинаковых чисел буквы следовали в порядке ACB. Например, если вначале было 1A, 2B,2C,3A то должно стать 1A, 2C,2B,3A. У меня получается сделать это за 4 действия. Можно ли проще ?
Пожалуйста подскажите функцию на М, которая, для заданной даты, посчитает отношение отработанных рабочих дней, включая дату, к общему числу рабочих дней месяца. Спасибо
Захотелось сравнить скорость двух способов заполнения пустых клеток. С одной стороны стандартная функция таблицы - Fill Down, с другой - самодельный запрос, работающий на списках. Поскольку метод, работающий на списках, вынуждено использует дополнительные действия по преобразованию таблицы в список и обратно, эти же операции были добавлены к "табличному" методу, чтобы исключить их заведомое неравенство. Результат сравнения показывает что "фабричный" табличный метод работает быстрее "самопального" на списках. Но есть подозрение, что придуманный метод на списках не оптимален. У кого нибудь есть желание предложить другой ?
Помогите найти решение. Есть файл без макросов, в нем умная таблица, в которую пользователи вносят информацию в новой строке в конце таблицы: открыл файл, внес данные, закрыл файл. Надо, чтобы когда следующий пользователь откроет файл, последняя запись была бы уже наверху таблицы.