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

Вход

Регистрация

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

 

= Мир MS Excel/Обновление данных в 50 файлах из исходного - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин  
Мир MS Excel » Работа и общение » Работа / Фриланс » Обновление данных в 50 файлах из исходного (Макросы/Sub)
Обновление данных в 50 файлах из исходного
Anis625 Дата: Пятница, 18.05.2018, 16:29 | Сообщение № 1
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
По просьбе автора тема перенесена в ветку Фриланс

Добрый день!
Знания Excel ограничиваются написанием формул, по VBA пока могу только несложные макросы менять под себя. Поэтом я за советом ибо не нашел готового решения в просторах интернета.

Есть файл "Исходник" в него заносятся раз в квартал несколько (около 10) показателей. Расположение файла, например, на рабочем столе.
Есть около 50 файлов ("Карт") со связями и защитой на этот исходный файл. Расположение в подпапках (по ФИО) в общей папке (в обменнике). Защита - без пароля.

В настоящее время заходим в каждый файл, обновляем, закрываем и отправляем на почту.

Возможно ли всю эту процедуру заменить макросом? Например, с кнопкой в Исходном файле обновить данные в 50 файлах и отправить на персонально на почту?
К сообщению приложен файл: 8136890.xlsx (9.3 Kb) · 7474354.xlsx (10.0 Kb)


Сообщение отредактировал Anis625 - Пятница, 18.05.2018, 16:30
 
Ответить
СообщениеПо просьбе автора тема перенесена в ветку Фриланс

Добрый день!
Знания Excel ограничиваются написанием формул, по VBA пока могу только несложные макросы менять под себя. Поэтом я за советом ибо не нашел готового решения в просторах интернета.

Есть файл "Исходник" в него заносятся раз в квартал несколько (около 10) показателей. Расположение файла, например, на рабочем столе.
Есть около 50 файлов ("Карт") со связями и защитой на этот исходный файл. Расположение в подпапках (по ФИО) в общей папке (в обменнике). Защита - без пароля.

В настоящее время заходим в каждый файл, обновляем, закрываем и отправляем на почту.

Возможно ли всю эту процедуру заменить макросом? Например, с кнопкой в Исходном файле обновить данные в 50 файлах и отправить на персонально на почту?

Автор - Anis625
Дата добавления - 18.05.2018 в 16:29
InExSu Дата: Воскресенье, 20.05.2018, 07:23 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 648
Репутация: 96 ±
Замечаний: 0% ±

Excel 2010, 365
Привет!
в обменнике

Что это? Где это?
всю эту процедуру заменить макросом?

Возможно.


Разработчик Битрикс24 php, Google Apps Script, VBA Excel Windows/Mac
 
Ответить
СообщениеПривет!
в обменнике

Что это? Где это?
всю эту процедуру заменить макросом?

Возможно.

Автор - InExSu
Дата добавления - 20.05.2018 в 07:23
Hugo Дата: Воскресенье, 20.05.2018, 14:49 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Обновить особых проблем нет - можете записать рекордером процесс ручного обновления одного файла, затем добавить в код цикл по списку адресов.
А вот про почту - вообще непонятно что хотели.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеОбновить особых проблем нет - можете записать рекордером процесс ручного обновления одного файла, затем добавить в код цикл по списку адресов.
А вот про почту - вообще непонятно что хотели.

Автор - Hugo
Дата добавления - 20.05.2018 в 14:49
Anis625 Дата: Воскресенье, 20.05.2018, 20:13 | Сообщение № 4
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
InExSu, обменник - это общая сетевая папка с возможностью выхода с компьютера, подключенного к сети
 
Ответить
СообщениеInExSu, обменник - это общая сетевая папка с возможностью выхода с компьютера, подключенного к сети

Автор - Anis625
Дата добавления - 20.05.2018 в 20:13
Anis625 Дата: Воскресенье, 20.05.2018, 20:19 | Сообщение № 5
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Hugo,
записать рекордером

Это первое что попробовал сделать. Возможно, что-то не так сделал. Не получилось.

про почту - вообще непонятно

Возможно ли имея на листе список ФИО (первый столбец), соответствующие им эл.адреса (второй столбец) и соответствующие им адреса (путь) к своим файлам (третий столбец) = отправить с кнопки эти файлы?
 
Ответить
СообщениеHugo,
записать рекордером

Это первое что попробовал сделать. Возможно, что-то не так сделал. Не получилось.

про почту - вообще непонятно

Возможно ли имея на листе список ФИО (первый столбец), соответствующие им эл.адреса (второй столбец) и соответствующие им адреса (путь) к своим файлам (третий столбец) = отправить с кнопки эти файлы?

Автор - Anis625
Дата добавления - 20.05.2018 в 20:19
Hugo Дата: Воскресенье, 20.05.2018, 21:26 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Возможно.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВозможно.

Автор - Hugo
Дата добавления - 20.05.2018 в 21:26
Roman777 Дата: Воскресенье, 20.05.2018, 21:27 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Возможно ли имея на листе список ФИО (первый столбец), соответствующие им эл.адреса (второй столбец) и соответствующие им адреса (путь) к своим файлам (третий столбец) = отправить с кнопки эти файлы?

Anis625, Отправлять то чем будете (какая-то почтовая программа)?


Много чего не знаю!!!!
 
Ответить
Сообщение
Возможно ли имея на листе список ФИО (первый столбец), соответствующие им эл.адреса (второй столбец) и соответствующие им адреса (путь) к своим файлам (третий столбец) = отправить с кнопки эти файлы?

Anis625, Отправлять то чем будете (какая-то почтовая программа)?

Автор - Roman777
Дата добавления - 20.05.2018 в 21:27
Anis625 Дата: Воскресенье, 20.05.2018, 22:25 | Сообщение № 8
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Roman777, MS Outlook
 
Ответить
СообщениеRoman777, MS Outlook

Автор - Anis625
Дата добавления - 20.05.2018 в 22:25
Anis625 Дата: Воскресенье, 20.05.2018, 23:07 | Сообщение № 9
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Hugo, попробовал еще раз макрокодером записать действия.
Запустил запись в файле. Свернул файл. Открыл файл где нужно обновить данные с источником. Обновил данные. Сохранил файл. Закрыл файл. Заканчиваю запись макроса.
Посмотрел, что записал:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]
Он даже не увидел, что я открывал другой файл.
 
Ответить
СообщениеHugo, попробовал еще раз макрокодером записать действия.
Запустил запись в файле. Свернул файл. Открыл файл где нужно обновить данные с источником. Обновил данные. Сохранил файл. Закрыл файл. Заканчиваю запись макроса.
Посмотрел, что записал:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]
Он даже не увидел, что я открывал другой файл.

Автор - Anis625
Дата добавления - 20.05.2018 в 23:07
Hugo Дата: Воскресенье, 20.05.2018, 23:15 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Не знаю как Вы делаете, у меня всё записалось:
[vba]
Код
Sub Макрос2()
'
' Макрос2 Макрос
'

'
    Workbooks.Open Filename:="C:\Users\Igor\Downloads\1.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]
Можно конечно пооптимизировать, но не суть.
Теперь сюда прикручиваем цикл по адресам и готово.
P.S. понял почему у Вас так записалось - открывали файл не через меню, а просто кликом по файлу... Ну в общем всё логично и не записалось :)


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Воскресенье, 20.05.2018, 23:19
 
Ответить
СообщениеНе знаю как Вы делаете, у меня всё записалось:
[vba]
Код
Sub Макрос2()
'
' Макрос2 Макрос
'

'
    Workbooks.Open Filename:="C:\Users\Igor\Downloads\1.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]
Можно конечно пооптимизировать, но не суть.
Теперь сюда прикручиваем цикл по адресам и готово.
P.S. понял почему у Вас так записалось - открывали файл не через меню, а просто кликом по файлу... Ну в общем всё логично и не записалось :)

Автор - Hugo
Дата добавления - 20.05.2018 в 23:15
Anis625 Дата: Воскресенье, 20.05.2018, 23:30 | Сообщение № 11
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Hugo,
P.S. ... открывали файл не через меню, а просто кликом по файлу...

Так и есть =) Учту на потом.

А зациклить правильно так:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\2.xlsx", UpdateLinks:=3
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\3.xlsx", UpdateLinks:=3
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\4.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]

Или так:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\2.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\3.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\4.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]

Не зависнет / не выкинет Excel если 50 файлов зациклить?
 
Ответить
СообщениеHugo,
P.S. ... открывали файл не через меню, а просто кликом по файлу...

Так и есть =) Учту на потом.

А зациклить правильно так:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\2.xlsx", UpdateLinks:=3
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\3.xlsx", UpdateLinks:=3
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\4.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]

Или так:
[vba]
Код
Sub Макрос1()
' Макрос1 Макрос
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\2.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\3.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
    Workbooks.Open Filename:="C:\Users\Мвидео\Desktop\4.xlsx", UpdateLinks:=3
    ActiveWorkbook.Save
    ActiveWindow.Close
End Sub
[/vba]

Не зависнет / не выкинет Excel если 50 файлов зациклить?

Автор - Anis625
Дата добавления - 20.05.2018 в 23:30
Anis625 Дата: Воскресенье, 20.05.2018, 23:53 | Сообщение № 12
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Hugo,
Возможно.

В просторах интернета нашел, на мой взгляд подходящий макрос (немного "подпилил" для себя, не совсем уверен, что правильно):
[vba]
Код
Sub Отправить_Письмо_из_Outlook()

    'отправляем письмо с 1 вложением
    Dim coll As New Collection    ' заносим в коллекцию список прикрепляемых файлов, путь к файлу - в ячейке D1
    coll.Add "Range("d1")"
    ' адрес получателя - в ячейке A1, текст письма - в ячейке B1, тема письма- в ячейке C1
    res = SendEmailUsingOutlook(Cells(1, 1), Range("b1"), Range("c1"))
    If res Then Debug.Print "Письмо 2 отправлено успешно" Else Debug.Print "Ошибка отправки"

End Sub
[/vba]

Но этот макрос решает вопрос отправки одному человеку. Как его адаптировать на список из нескольких адресатов (примерно 50)? Посмотрите, пожалуйста, макрос на предмет ошибок
 
Ответить
СообщениеHugo,
Возможно.

В просторах интернета нашел, на мой взгляд подходящий макрос (немного "подпилил" для себя, не совсем уверен, что правильно):
[vba]
Код
Sub Отправить_Письмо_из_Outlook()

    'отправляем письмо с 1 вложением
    Dim coll As New Collection    ' заносим в коллекцию список прикрепляемых файлов, путь к файлу - в ячейке D1
    coll.Add "Range("d1")"
    ' адрес получателя - в ячейке A1, текст письма - в ячейке B1, тема письма- в ячейке C1
    res = SendEmailUsingOutlook(Cells(1, 1), Range("b1"), Range("c1"))
    If res Then Debug.Print "Письмо 2 отправлено успешно" Else Debug.Print "Ошибка отправки"

End Sub
[/vba]

Но этот макрос решает вопрос отправки одному человеку. Как его адаптировать на список из нескольких адресатов (примерно 50)? Посмотрите, пожалуйста, макрос на предмет ошибок

Автор - Anis625
Дата добавления - 20.05.2018 в 23:53
Hugo Дата: Понедельник, 21.05.2018, 09:44 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
1. Про циклы - ну где тут цикл? Почитайте хоть гугл например:
https://www.google.ru/search?....e=UTF-8
2. Оутлуком не пользуюсь, да и SendEmailUsingOutlook() у меня нет, поэтому код проверять не буду. Но если изучите п.1, то думаю и это наладите.
P.S. если нет многочисленных вложений - то коллекцию создавать нет причины. А если их нет вообще - то и вообще незачем.

Переменную цикла можно приладить в адрес явно вместо числа если используете cells, или с амперсандом если Range: Range("b" & переменная)


excel@nxt.ru
webmoney: E265281470651 Z422237915069


Сообщение отредактировал Hugo - Понедельник, 21.05.2018, 09:58
 
Ответить
Сообщение1. Про циклы - ну где тут цикл? Почитайте хоть гугл например:
https://www.google.ru/search?....e=UTF-8
2. Оутлуком не пользуюсь, да и SendEmailUsingOutlook() у меня нет, поэтому код проверять не буду. Но если изучите п.1, то думаю и это наладите.
P.S. если нет многочисленных вложений - то коллекцию создавать нет причины. А если их нет вообще - то и вообще незачем.

Переменную цикла можно приладить в адрес явно вместо числа если используете cells, или с амперсандом если Range: Range("b" & переменная)

Автор - Hugo
Дата добавления - 21.05.2018 в 09:44
Anis625 Дата: Понедельник, 21.05.2018, 23:30 | Сообщение № 14
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Для меня пока это лес. Пока научился немного подправлять готовые макросы. Создавать новые пока для меня темный лес.
 
Ответить
СообщениеДля меня пока это лес. Пока научился немного подправлять готовые макросы. Создавать новые пока для меня темный лес.

Автор - Anis625
Дата добавления - 21.05.2018 в 23:30
Anis625 Дата: Понедельник, 21.05.2018, 23:32 | Сообщение № 15
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Напишите пожалуйста кто-нибудь в личномм сообщением сколько может это стоить доделать до логического конца эту задачку?
 
Ответить
СообщениеНапишите пожалуйста кто-нибудь в личномм сообщением сколько может это стоить доделать до логического конца эту задачку?

Автор - Anis625
Дата добавления - 21.05.2018 в 23:32
SLAVICK Дата: Вторник, 22.05.2018, 08:46 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
сколько может это стоить доделать до логического конца эту задачку?

Anis625, а Вы так в правила форума и не заглядывали?
Для платных вопросов есть отдельный раздел "Работа/фриланс" - перенести тему туда?


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
сколько может это стоить доделать до логического конца эту задачку?

Anis625, а Вы так в правила форума и не заглядывали?
Для платных вопросов есть отдельный раздел "Работа/фриланс" - перенести тему туда?

Автор - SLAVICK
Дата добавления - 22.05.2018 в 08:46
Anis625 Дата: Вторник, 22.05.2018, 10:17 | Сообщение № 17
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
SLAVICK, I'm sorry.
перенести тему туда?

Да, думаю стоит перенести.
 
Ответить
СообщениеSLAVICK, I'm sorry.
перенести тему туда?

Да, думаю стоит перенести.

Автор - Anis625
Дата добавления - 22.05.2018 в 10:17
Anis625 Дата: Вторник, 22.05.2018, 10:36 | Сообщение № 18
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Сколько может стоить доделать до логического конца задачку?
 
Ответить
СообщениеСколько может стоить доделать до логического конца задачку?

Автор - Anis625
Дата добавления - 22.05.2018 в 10:36
sboy Дата: Вторник, 22.05.2018, 15:28 | Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Написал в личку
В работе
сделано, оплачено


Яндекс: 410016850021169

Сообщение отредактировал sboy - Среда, 23.05.2018, 13:25
 
Ответить
СообщениеНаписал в личку
В работе
сделано, оплачено

Автор - sboy
Дата добавления - 22.05.2018 в 15:28
Anis625 Дата: Пятница, 25.05.2018, 08:25 | Сообщение № 20
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
sboy, Огромная благодарность за оперативно и качественно сделанную работу =)
 
Ответить
Сообщениеsboy, Огромная благодарность за оперативно и качественно сделанную работу =)

Автор - Anis625
Дата добавления - 25.05.2018 в 08:25
Мир MS Excel » Работа и общение » Работа / Фриланс » Обновление данных в 50 файлах из исходного (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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