VBA перенос таблицы из excel в word
Добрый день.
Подскажите пожалуйста, как можно перенести сформированную таблицу из листа excel в созданный word (шаблон)?
Определение границ таблицы, и перенос его в созданную закладку word?
Добрый день.
Подскажите пожалуйста, как можно перенести сформированную таблицу из листа excel в созданный word (шаблон)?
Определение границ таблицы, и перенос его в созданную закладку word?
«Пацак пацака не обманывает, это некрасиво, родной...»
«Кин-дза-дза!», 1986 г, Мосфильм
Ку, Товарищи!
Продолжаем цикл интересных статей для простых менеджеров.
Ведь реальные технологии в Бизнесе – это прекрасно!
Сегодня хочу рассказать о такой страшной штуке, как Excel, о том, как мы его мучали в Covid-эпоху, и как сэкономили Клиенту около 3 000 000 рублей :)
ЧЕРНЫЙ ЛЕБЕДЬ
Однажды, темной-темной ночью…в далеком-далеком Китае…на грязном-грязном рынке…кто-то съел мышь…
И понеслось )))
Бред или нет, но 2020 год стал для офисных сотрудников откровенно шоковым.
Менеджеры магазинов выли, что упал трафик.
Клиенты выли, что нет продаж.
E-Com захлебнулся от наплыва заказов.
Короче всем хватало, чем заняться…
У нашего Клиента, как и у его конкурентов, самая жесть творилась на уровне супервайзеров, торговых представителей и мерчандайзеров.
Каждый день требовались какие-то новые подписанные справки, а какие – никто точно не знал.
Регионы РФ то вводили один тип документов, то меняли его на другой, то отменяли, то возвращали.
Иногда смена формы документа была по 2 раза в месяц!
Представьте, что у вас всего лишь 100 сотрудников.
Каждому ежедневно нужна справка о том, что он измерил температуру, и что его супервайзер допустил сотрудника к работе.
Ну мелочь же.
А если поставить задачу так?
Каждый день вам нужно создавать 100 индивидуальных документов, менять в них дату, ставить печать и подписывать.
А потом рассылать их в соответствии с привязкой сотрудника на нужную почту.
Не прислали документ – нет допуска в магазин.
Сотрудника не пустили – нарушен Договор.
Нарушен Договор – «попали на бабки» со стороны Заказчика Услуги ))))
И «попали на бабки» со стороны Исполнителя,
Ведь отсутствие допуска – это ваши личные проблемы, уважаемый Работодатель )))
ХУЖЕ НЕ БЫВАЕТ
Представили?
А у нашего Клиента таких сотрудников было не 100, а порядка 2000 и в разных регионах РФ.
Документ на вход в магазин,
Документ на проезд по городу,
Документ на возможность работы с товаром,
документ, документ, документ….
Математика – штука интересная)))
2 документа в день * 2000 сотрудников * 30 секунд на документ = 2000 минут в день
2000 минут / 60 минут в часе = 34 рабочих часа в день = 5 рабочих ставок
Понимаете весь бред ситуации?
Клиенту требуется 5 операторов в день для того, чтоб сотрудники получили возможность работать. )))
А вся работа операторов при этом состоит в «замазывании» даты допуска.
Даже если раскинуть задачу на супервайзеров – легче не станет, ведь на каждом бланке нужны печати, а значит растет временное плечо )))
Естественно, что нашему Клиенту такой расклад не понравился.
На решение вопроса была всего лишь неделя,
иначе нужно останавливать бизнес из-за громадных финансовых и репутационных рисков.
Клиент искал быстрое и дешевое решение,
А мы умеем такие находить )))
ВРЕМЯ - ДЕНЬГИ
Первая мысль Клиента – автоматизация!
Ну что сложного скриптик запилить?
Его же даже 7-летний сын троюродной тети сделает за 5 минут ))))
Тяп-Ляп и в продакшн!
Пока мы работали над своим решением,
Наш Клиент параллельно искал в других местах.
Обратился в ООО «Дорого-Богато»:
ценник космический с кучей нулей, результаты будут через месяц, потому что много заказов.
Как итог Клиенту светит расход:
+1 штраф от сети с неоплатой услуг,
+1 оплата ЗП отдыхающим сотрудникам,
+1 разработка ПО
Груууусть.
Далее Клиент обратился в ООО «Без ТЗ – результат…плохой»:
ценник адекватный с меньшим количеством нулей,
но пока ТЗ составят,
пока демку выкатят,
пройдет уже месяц-два.
Как итог – обойдется в 2 раза дороже,
чем в ООО «Дорого-Богато»…
Наиболее очевидным и адекватным решением Клиенту тогда казалось посадить 5-6 временных операторов и попасть лишь на 300-400к/мес в виде ФОТ.
Да, не очень приятно, но хотя бы нет штрафов и простоя сотрудников. Бизнес работает, но с меньшим выхлопом.
.
НЕ БУДЬ КАК САХАР – БУДЬ КАК ЧАЙ!
НЕ РАСТВОРЯЙСЯ – РАСТВОРЯЙ!
Пока наш Клиент готовился к расходам близким к 500 000 р/мес и искал внешнее решение, мы оперативно штурмовали задачу.
Естественно в области автоматизации процессов,
мы ж не кадровое агентство )))
Оптимальную идею по кейсу предложил Вася Уточкин.
Логика рассуждения у него была простая и гениальная по своей сути.
Что есть у любого офисного менеджера в 95% компаний?
Тот самый Excel, в котором хранится список всех ФИО и нужных для пропуска данных.
Кстати, если у вас БД нормальная в компании – знайте, вам несказанно повезло :)
Что есть в excel?
Visual Basic for Applications (VBA) и возможность генерировать документы даже в PDF.
Если простым языком, то это многим известные и сильно недооцененные макросы.
Макросы - это такие мини-программы внутри excel, которые позволяют автоматизировать простые операции.
Почему-то многие менеджеры игнорируют тот факт, что макрос можно записать даже не зная VBA и языков программирования.
Просто тыкаешь запись, делаешь то, что обычно и вуаля – готов макрос, а ты зовешься #яжпрограммист !
Но об этом потом как-нибудь расскажу )))
В общем выслушали мы Васю с интересом.
Это ж надо, какой фантазер у нас в команде затесался )))
Ты еще DOOM на Excel запусти.
Но раз можешь – делай, чего теряться то )
Улыбается, сажает желтую уточку на стол.
Недельный спринт по VBA начался )))
ХАКАТОН на минималках
Day 1
Первое, что было сделано – это получены шаблоны допусков от Клиента.
Изучили, разбили на схожие группы документов.
Сделали автозаполняемую форму внутри страницы Excel.
Day 2
Вспомнили, что нужно было вставлять печати и подписи в документ. Позвонили юристам Клиента – нам подтвердили, что печать должна быть обязательно.
«Должна – значит будет!», - сказали мы, и тупо вставили в документ картинку.
А в документах указали, что компания может предоставить бумажный экземпляр с оригинальной печатью.
И мы не врали, все документы действительно отправлялись Клиентом по первому требованию в бумажном виде.
Day 3
Проверяем и отлаживаем excel-файлик.
VBA штампует документы как лютый демон.
1 секунда и в папке лежит PDF с печатью, который подписан ФИО сотрудника.
За 30 минут спокойно делаем дневную норму.
MVP (Minimum Viable Product) на базе Excel готов.
Удивительно, что такой набор операций делает обычная офисная программа :)
Day 4
Презентуем решение Клиенту – восторг!
Стоимость разработки – копейки,
стоимость поддержки – почти нулевая.
Файл можно запустить на любой машине любого сотрудника без интернета вообще!
Предлагаем оперативно поднять чат-бот для сотрудников, в котором каждый из них сможет скачать свои документы или вкинуть исходники для генерации PDF.
Идея встречена с пониманием и одобрена.
Бюджет на бот выделен.
WIN – WIN никто не отменял,
а наш Вася Уточкин хочет кушать что-то кроме тины из пруда )))
Day 5-6
Что вообще умеют Чат-Боты как-нибудь расскажу,
а конкретно этот выполнял простые задачи:
- определить пользователя;
- скинуть по запросу пачку его дневных документов на телефон;
- ну и пару функций по мелочи, типа:
А) «обратная связь с Баго-Ведом»
Б) «Загрузить документ»
В) «Позвонить Кузе»
Как итог:
1) Вася Уточкин 30 минут в день пил кофе и смотрел мультики на YouTube
2) Его макрос в это время штамповал документы для Клиента
3) Документы уходили на почты, становились доступны в Чат-Боте для полевых сотрудников
4) Все были счастливы весь Covid
5) Клиенту это обошлось в 3 копейки )))
Как потом выяснилось, у компании-конкурента нашего Заказчика для этих целей был целый штат сотрудников.
По нашим прикидкам они потратили около 3 000 000 рублей в рамках ФОТ на то, что у нас делал VBA практически бесплатно весь год.
«Исторически сложилось» у них так, видишь ли )))
А Васе Уточкину мы премию выписали за
необычное и невероятно дешевое решение :)
.
_/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\__/\_
Остались вопросы?
Welcome в личку или коменты :)
Фабрин Максим,
Руководитель отдела разработки, внедрения и развития ПО
«Лавка Технологий»
Добрый день курителям экселя, имеется надстройка которая подставляет в ячейку число прописью. Делает она это замечательно, но только делает она это с копейками, а хотелось бы чтобы были только целые числа, может кто помочь исправить этот вопрос?
День добрый, дамы и господа!
Помогите, кто чем может, пжлст.
Задача, думаю, тривиальная для людей шарящих, я, к сожалению не такой.
Нужно сделать макрос, который бы искал файл Word в фиксированной папке, с названием по маске "H6*.doc" (в ячейке H6, соответственно часть названия файла).
После этого осуществлял поиск в открытом файле Word по фиксированной фразе, выдергивал предложение, содержащее эту фразу (т.е. текст от . до .) и вставлял это предложение в ячейку Excel.
Форматирование не важно.
Заранее спасибо.
На основании данных книги Data.xlsb написать программу на языке VBA, которая по нажатию на кнопку сформирует и выведет на экран документ "Отчет по загрузке" в MS Word(В нём должны быть номера отделов, фамилии сотрудников и кол-во задач).
Требования:
Исходные данные и их структура должны сохраниться.
Отделы и их сотрудники должны быть расположены в порядке убывания количества задач.
Сейчас я сделал только сортировку данных, определение кол-ва задач на сотрудника, и отсортировал по отделам.
С VBA третий день знаком, не могу разобраться как мне закончить и сделать дальше.
Скину архив с заданием и исходниками. (Пароль архива: vba)
Пост в ответ на коментарии https://pikabu.ru/story/trebuetsya_pomoshch_s_tablitsey_9232263?utm_source=linkshare&utm_medium=sharing
Внезапно, чтобы при вводе данных в ячейку А1 произошли вычисления в ячейке В1 вовсе не обязательно иметь непосредственно в ячейке В1 формулу связанную с ячейкой А1. Да и вообще формулу там иметь не обязательно (0_о). Пример - https://cloud.mail.ru/public/pBRc/rd1RhvKjb
При вводе числа в выделенную ячейку столбца С в той же строке столбца В будет выведен квадрат введённого числа. Квадрат только в качестве примера. Можно, например, дату ввода данных в ячейку фиксировать :)
Естественно макрос имеет место быть (в коде листа).
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3:C15")) Is Nothing Then
Target.Offset(0, 2).Value = Target.Offset(0, 0).Value * Target.Offset(0, 0).Value
End If
End Sub
где:
"C3:C15" - контролируемые ячейки
Target.Offset(0, 2).Value - данные выводятся в ячейку на две правее от той в которой произошли изменения.
В остальном согласен с другими ответами - предложенный топикстартером документ расчётов не содержит
Добрый день мои дорогие.
Пришлось по жизни столкнуться со старым матерым зверем и имя ему МИФ.
Alt-Shift
... и имя ему VBA.
Обычно, разбирая чей то код, с первого прочтения было ясно-понятно что происходит, кто куда назначается, кто к кому обращается и что в итоге выходит. Но... тут либо создатель слишком гуру экселя, или VBA слишком мудреный, или я совсем постарел и началась dimенция, но разобрать рабочий код оказалось довольно сложным занятием. Кто хорош в этом деле, гляньте кусок кода и вынесите вердикт на предмет адекватности его построения, авось услышу что то, что поможет проще въехать в этот манускрипт на миллион строк...: