Добавить команду по фоновому обновлению в макрос - в какую конкретно часть?, В какую часть кода вставлять команду .BackgroundQuery := False, чтобы обновление происходило последовательно и следующий этап не начинался до полного завершения обновления запроса
написал Дмитрий(The_Prist) Щербаков: ну как бэ...вроде все достаточно прозрачно и с комментариями. Не так уж вроде сложно подстроить под себя
ну как бэ...вроде все достаточно прозрачно и с комментариями. Не так уж вроде сложно подстроить под себя Дмитрий, спасибо огромное!! Все работает идеально Не сложно - умеючи) но я пытался до последнего, прежде чем писать сюда)
Добавить команду по фоновому обновлению в макрос - в какую конкретно часть?, В какую часть кода вставлять команду .BackgroundQuery := False, чтобы обновление происходило последовательно и следующий этап не начинался до полного завершения обновления запроса
Его-то я и нашел и скакал вокруг него несколько часов, пытаясь понять, в какой конкретно части своего макроса его применить и как модифицировать под свой случай
Добавить команду по фоновому обновлению в макрос - в какую конкретно часть?, В какую часть кода вставлять команду .BackgroundQuery := False, чтобы обновление происходило последовательно и следующий этап не начинался до полного завершения обновления запроса
1. Есть перечень запросов Power Query 2. Есть зависящие от них таблицы 3. Есть последующие вычисления
Есть макрос для обновления запросов:
Код
Sub Update_1()
Dim Connection As WorkbookConnection
Dim rng_Refresh As Range
Set rng_Refresh = Range("Update_1[Update_1]")
For Each Connection In ThisWorkbook.Connections
If Not rng_Refresh.Find(Connection.Name) Is Nothing Then
'MsgBox rng_Refresh.Find(Connection.Name).Address
Connection.Refresh
End If
Next Connection
End Sub
Он вызывается в другом макросе командой Call и потом дальше начинают происходить действия.
Вопрос в следующем, понимаю, что нужно использовать команду ниже, чтобы следующие шаги после Update_1 и Update_2 дожидались завершения обновления запроса.
Код
.BackgroundQuery = False
Но куда его в этой последовательности впихнуть - ума не приложу! Прошу помощи) Спасибо большое заранее!
New, написал: Давайте для примера возьмём название *ПВ Бурдейного.8*.xlsxСможете дать файлу такое имя?Потестируйте этот макрос
Добрый день! Прошу прощения, что пропал - был на семинаре
В общем, действительно, дело было в звездочках - я их удалил и макрос отработал) Все формирует и сохраняет в самом лучшем виде, только сохраняет в папку с Личной Книгой Макросов PERSONAL.xlsb (прикрепил скрин). Поэтому и выскакивали ранее файлы сформированные, тк это папка автозапуска (прикрепляю скрин). Наверное, тк сохраняю макрос в личную книгу макросов или почему?
Я попытался с ThisWorkbook.Path, но тк нельзя указать постоянный путь сохранения, тк планируется, что макрос будет работать у разных людей, а ActiveWorkbook.Path сюда не подходит, поэтому не получилось разрешить последнюю загвоздку, как сохранять в папку, где изначально находился исходный файл
Спасибо огромное, что возитесь с этим головняком)
Цитата
Евгений Смирнов, поэтому по скорости должно получиться нормально.
написал: Скажи - какой файл неправильный или какой не создался?
Это либо мистика, либо что-то еще... Тк в вашем файле примера "Денис_upd.xlsx" - у меня тоже отлично отрабатывает макрос и создает 6 файлов)) А когда переношу в свой (прикрепляю его) - не срабатывает, останавливается на первом поставщике, пишет "Создано 0 файлов" и на этом всё.
Название листа переименовал в Sheet1
Что еще совсем загадочно - это то, что теперь при открытии Excel сами запускаются из буфера 2 созданных правильных файла, с правильными названиями, но они нигде не сохранены. Даже перезагрузка не помогает - все равно выскакивают, где-то висят в памяти, тут вообще непонятно, но это не главная беда)
Прикрепил свой файл, посмотрите, пожалуйста, если у вас отрабатывает, значит у меня что-то глючит в Excel'е
New, написал: Вы напишите очерёдность для одного файла, а я это реализую в макросе.
Понял, пишу) 1. Ставим фильтр на магазин - выбираем один магазин (например, №1) 2. Ставим фильтр на поставщик - выбираем одного поставщика (также №1) 3. Удаляем невошедшее
Следующий шаг: 1. Ставим фильтр на магазин - выбираем один магазин (тот же №1) 2. Ставим фильтр на поставщика - выбираем следующего поставщика (уже №2) 3. Удаляем невошедшее
Таким образом, перебирается один магазин по всем поставщикам. Потом берем магазин №2 и так же перебираем по всем поставщикам отдельно Для наглядности прикрепляю файл образца, добавил столбец, какая комбинация строк должна попадать в каждый отдельный файл
Во-первых, спасибо огромное, что откликнулись) все работает на файле примера идеально, на выходе получаем файл - именно то, что надо
Только есть момент, что макрос не отрабатывает при нескольких товарах от одного поставщика для одного магазина - формируется первый файл, но не сохраняется и выполнение макроса останавливается. Прикрепил немного доработанный пример, посмотрите, пожалуйста, если есть возможность
Задача здесь встречалась уже 100500 раз, но постоянно всплывают новые вариации, вот и я со своей)
Необходимо с помощью макроса иметь возможность разобрать Лист по Книгам на основании фильтрации по ДВУМ столбцам. По одному столбцу я нашел решение, а вот с двумя гораздо сложнее обстоит дело.
Прикрепляю образец файла, где один лист - оригинал файла, а второй - как должен выглядеть каждый из сохраненных файлов.
Имеем список товаров для заказа по разным магазинам от разных поставщиков. Столбцы для фильтрации: Адрес и Поставщик, т.е. каждый файл должен быть разбит по отдельному поставщику для каждого магазина. И сохранить в эту же папку с именем нового файла сцепка Поставщик_Адрес
И еще, прошу прощения за странный нюанс, но в каждом файле в ячейке А1 должен находиться Код Магазина (он находится в столбце А)
Часть, как говорил, у меня получилось реализовать, но с усложнением уже не справился, поэтому буду очень благодарен любой помощи. Спасибо!!
Прошу помощи, ибо уже перерыл всевозможные макросы и надстройки, но ничего не помогает. Есть классификатор, выгруженный из 1С в xlsx, а есть он же, выгруженный в csv
На 10 тыс позициях появляется около 100 позиций, который выглядят абсолютно одинаково, но формула в упор не хочет их приравнивать друг к другу. Выгрузить ID в одном из файлов не представляется возможным. Пробелы все найдены и удалены, по-моему) Точки-запятые также приведены к единому виду...
Буду очень признателен, если удастся помочь в поиске, в чем же различие в значениях, чтобы потом этот баг ликвидировать Файл с образцом позиций прикрепляю
V, к сожалению, не срабатывал у меня данный вариант в оригинальном файле. А в файле образца - сработал)) Наверное, потому что вырезал кусочек и сделал "вставить значения" - спасибо
Сам решить проблему отчаялся, поэтому обращаюсь сюда
Есть документ с данными, которые выглядят, как число, но категорически в числовой формат переводиться отказываются. Замену пробелов, СЖПРОБЕЛЫ() пробовал, сохранять в csv и текстовом документе удалять пробелы пробовал, умножать на 1 пробовал - идеи у меня закончились:)