Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Работа - автоматизация ряда действий внутри файла - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, китин  
Мир MS Excel » Работа и общение » Работа / Фриланс » Работа - автоматизация ряда действий внутри файла (Макросы/Sub)
Работа - автоматизация ряда действий внутри файла
Зашибись Дата: Понедельник, 29.07.2019, 17:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Друзья, нет времени автоматизировать рутинные действия в десятке файлов отчетов магазинов. Наработки есть и это работало, пока не навесил доп функционал.

Готов оплатить работу тому, кто сделает быстро и качественно - на карточку.

Мне нужно, сначала, выставить требуемый магазин:

это решается конструкцией типа:

[vba]
Код
Sub Выбор_магазина()
'
' Выбор_магазина Макрос
'

'
    Sheets("1_Планы_сотрудников_и_магазина").Select
    Sheets("Выбор_магазина").Visible = True
    With ActiveWorkbook.SlicerCaches("Срез_Магазин.")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин311111")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин1")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин2")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    Sheets("Выбор_магазина").Select
    ActiveWindow.SelectedSheets.Visible = False
    
End Sub
[/vba]
Второй макрос, на более ранней стадии, открывал файл, обновлял все сводные, сохранял файл в папку OneDrive, а сам файл закрывал:

[vba]
Код
Private Sub Workbook_Open()

Application.DisplayAlerts = False
ActiveWorkbook.RefreshAll 'обновление сводных таблиц

Application.Wait (Now + TimeValue("0:00:10"))

ActiveWorkbook.SaveAs Filename:= _
"https://pgroup-my.sharepoint.com/personal/p_pgroup_onmicrosoft_com/Documents/Ашан.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Application.Wait (Now + TimeValue("0:00:10"))

ActiveWorkbook.Close
[/vba]

Теперь хочу несколько изменить и объединить оба макроса в один и повесить все действия на открытие файла и его название.
1. Открыть файл.
2. Открыть скрытый лист.
3. Выставить .SlicerItems("Название_файла").Selected = True
4. Сделать паузу для обработки срезов ( видимо из-за не очень чистого метода, процесс занимает секунд 15-20)
5. Закрыть скрытый лист
6. Запустить обновление всех сводных таблиц с внешнего содержимого
7. Сделать паузу для обработки сводных
8 Сохранить файл.
9.Сохранить его копию в хранилище OneDrive. ( раньше копии не делал )
10. Закрыть файл
Напрямую, в папке OneDrive ничего корректно не работает. Файл обрабатывается в другой папке, а потом принудительно заменяет собой уже существующий файл в OneDrive.

Алексей
 
Ответить
СообщениеДрузья, нет времени автоматизировать рутинные действия в десятке файлов отчетов магазинов. Наработки есть и это работало, пока не навесил доп функционал.

Готов оплатить работу тому, кто сделает быстро и качественно - на карточку.

Мне нужно, сначала, выставить требуемый магазин:

это решается конструкцией типа:

[vba]
Код
Sub Выбор_магазина()
'
' Выбор_магазина Макрос
'

'
    Sheets("1_Планы_сотрудников_и_магазина").Select
    Sheets("Выбор_магазина").Visible = True
    With ActiveWorkbook.SlicerCaches("Срез_Магазин.")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин311111")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин1")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    With ActiveWorkbook.SlicerCaches("Срез_Магазин2")
.SlicerItems("Ашан").Selected = True
.SlicerItems("Billa").Selected = False
.SlicerItems("Маяк").Selected = False
.SlicerItems("Вышка").Selected = False
    End With
    Sheets("Выбор_магазина").Select
    ActiveWindow.SelectedSheets.Visible = False
    
End Sub
[/vba]
Второй макрос, на более ранней стадии, открывал файл, обновлял все сводные, сохранял файл в папку OneDrive, а сам файл закрывал:

[vba]
Код
Private Sub Workbook_Open()

Application.DisplayAlerts = False
ActiveWorkbook.RefreshAll 'обновление сводных таблиц

Application.Wait (Now + TimeValue("0:00:10"))

ActiveWorkbook.SaveAs Filename:= _
"https://pgroup-my.sharepoint.com/personal/p_pgroup_onmicrosoft_com/Documents/Ашан.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Application.Wait (Now + TimeValue("0:00:10"))

ActiveWorkbook.Close
[/vba]

Теперь хочу несколько изменить и объединить оба макроса в один и повесить все действия на открытие файла и его название.
1. Открыть файл.
2. Открыть скрытый лист.
3. Выставить .SlicerItems("Название_файла").Selected = True
4. Сделать паузу для обработки срезов ( видимо из-за не очень чистого метода, процесс занимает секунд 15-20)
5. Закрыть скрытый лист
6. Запустить обновление всех сводных таблиц с внешнего содержимого
7. Сделать паузу для обработки сводных
8 Сохранить файл.
9.Сохранить его копию в хранилище OneDrive. ( раньше копии не делал )
10. Закрыть файл
Напрямую, в папке OneDrive ничего корректно не работает. Файл обрабатывается в другой папке, а потом принудительно заменяет собой уже существующий файл в OneDrive.

Алексей

Автор - Зашибись
Дата добавления - 29.07.2019 в 17:50
китин Дата: Вторник, 30.07.2019, 07:26 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5743
Репутация: 904 ±
Замечаний: 0% ±

Excel 2007;Excel 2010


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениетендер?

Автор - китин
Дата добавления - 30.07.2019 в 07:26
Зашибись Дата: Вторник, 30.07.2019, 10:30 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Что значит тендер? На Планете никто не отвечает. Нет предложений. И это уже второй или третий раз за полгода. Или они все улетели на другую планету. Или там катастрофически упал уровень программистов.
 
Ответить
СообщениеЧто значит тендер? На Планете никто не отвечает. Нет предложений. И это уже второй или третий раз за полгода. Или они все улетели на другую планету. Или там катастрофически упал уровень программистов.

Автор - Зашибись
Дата добавления - 30.07.2019 в 10:30
bmv98rus Дата: Вторник, 30.07.2019, 11:03 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2465
Репутация: 424 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Зашибись, 30.07.2019 в 10:30, в сообщении № 3 ()
которому не надо разжевывать банальности.
и не отвечают
, да и
Цитата Зашибись, 30.07.2019 в 10:30, в сообщении № 3 ()
И это уже второй или третий раз за полгода
Так у вас в ветке работа три темы, включая последнюю, в одной вроде исполнитель был, а во второй сумбур. Может дело не в форумах и программистах? Да и не умеете Вы заинтересовать этих программистов.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Вторник, 30.07.2019, 11:06
 
Ответить
Сообщение
Цитата Зашибись, 30.07.2019 в 10:30, в сообщении № 3 ()
которому не надо разжевывать банальности.
и не отвечают
, да и
Цитата Зашибись, 30.07.2019 в 10:30, в сообщении № 3 ()
И это уже второй или третий раз за полгода
Так у вас в ветке работа три темы, включая последнюю, в одной вроде исполнитель был, а во второй сумбур. Может дело не в форумах и программистах? Да и не умеете Вы заинтересовать этих программистов.

Автор - bmv98rus
Дата добавления - 30.07.2019 в 11:03
Мир MS Excel » Работа и общение » Работа / Фриланс » Работа - автоматизация ряда действий внутри файла (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!