Вставка данных таблицы excel в шаблон

Обновлено: 07.07.2024

Очень часто бывает такое, что нужно сформировать документы по определенному шаблону, на основе каких-то данных, например, по каждому сотруднику или по каждому лицевому счету. И делать это вручную бывает достаточно долго, когда этих самых сотрудников или лицевых счетов много, поэтому сегодня мы рассмотрим примеры реализации таких задач в Excel с помощью макроса написанного на VBA Excel.

Немного поясню задачу, допустим, нам необходимо сформировать какие-то специфические документы по шаблону массово, т.е. в итоге их получится очень много, как я уже сказал выше, например, по каждому сотруднику. И это нужно сделать непосредственно в Excel, если было бы можно это сделать в Word, то мы бы это сделали через «Слияние», но нам нужно именно в Excel, поэтому для этой задачи мы будем писать макрос.

В нашем примере мы, конечно, будем использовать простой шаблон, только для того чтобы это было просто наглядно и понятно (только в качестве примера), у Вас в свою очередь шаблон будет, как мне кажется намного сложней.

Напомню, что на данном сайте тема VBA Excel уже затрагивалась, например, в материале – Запрет доступа к листу Excel с помощью пароля

И так приступим!

Пишем макрос на VBA Excel по формированию документов

Реализовывать нашу задачу будем на примере «Электронной карточке сотрудника» (я это просто придумал:), хотя может такие и на самом деле есть), т.е. документ в котором хранится личные данные сотрудника вашего предприятия, в определенном виде, именно в Excel.

Примечание! Программировать будем в Excel 2010.

И для начала приведем исходные данные, т.е. сами данные и шаблон

Данные.

Скриншот 1

Лист, на котором расположены эти данные так и назовем «Данные»

Шаблон.

Скриншот 2

Лист, на котором расположен шаблон, тоже так и назовем «Шаблон»

Далее, нам необходимо присвоить имена полей для вставки, так более удобней к ним обращаться чем, например, по номеру ячейки.

Это делается очень просто, выделяете необходимую ячейку или диапазон, и жмете правой кнопкой мыши и выбираете «Присвоить имя», пишите имя ячейки и жмете «ОК»

Скриншот 3

Свои поля я назвал следующим образом:

Код макроса на VBA Excel

Для того чтобы написать код макроса, открывайте на ленте вкладку «Разработчик», далее макросы.

Примечание! По умолчанию данной вкладке в Excel 2010 может и не быть, чтобы ее отобразить нажмите правой кнопкой по ленте пункт меню «Настройка ленты»

Скриншот 4

затем, в правой области поставьте галочку напротив пункта «Разработчик»

Скриншот 5

После вкладка разработчик станет отображаться на ленте.

Далее, когда Вы откроете вкладку разработчик и нажмете кнопку «Макросы» у Вас отобразится окно создания макроса, Вы пишите название макросы и жмете «создать».

Скриншот 6

После у Вас откроется окно редактора кода, где собственно мы и будем писать свой код VBA. Ниже представлен код, я его как обычно подробно прокомментировал:

Теперь осталось выполнить этот макрос, для этого откройте вкладку разработчик->макросы->выполнить наш макрос:

Скриншот 7

и после выполнения у Вас в той же папке появится вот такие файлы

Скриншот 8

Вот с таким содержимым:

Скриншот 9

Для удобства можете на листе с данными создать кнопку и задать ей событие выполнить наш только что созданный макрос, и после чего простым нажатием выполнять этот макрос. Вот и все! Удачи!


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

Со времени предыдущей статьи прошло уже пол года. За это время при помощи этой заготовки была разработана текстовая часть Исполнительной документации и сдана Заказчику. По итогам работы и отзывам редких участников в файл были внесены следующие правки, о которых я бы хотел поговорить и это 3 большие темы:

  1. Эстетика и юзабилити
  2. Оптимизация кода + нововведения
  3. Структура и связи

1. Эстетика и юзабилити

— Таблицы это в первую очередь таблицы, безликие ячейки с подписанными колонками и строками. Однако очень часто мы сталкиваемся с ситуацией, когда необходимы дополнительные пояснения к значению, которое будет находится в ячейке, или требуется дополнительно активизировать внимание пользователя на важности вводимого значения. Особенно важно, если у Вас, как в моем случае, строки в колонке очень длинной таблицы содержат разноплановую информацию, например: даты, виды работ, материалы, подписанты и многие др. В таких случаях у нас есть 2 инструмента для решения задачи:



Есть и минусы такого решения, в частности всплывающие подсказки могут раздражать, но в ситуации, когда на объекте 15" мониторы на ноутбуках с разрешением 1366×768 это разумный компромисс, что бы рабочая область была как можно больше.

Если внимательно проанализировать данные, то окажется что в таблице будут ячейки 3х типов:

  1. ячейки в которые непосредственно необходимо вводить новую текстовую информацию;
  2. ячейки, значение которых может принимать значение из ограниченного диапазона, введенного заранее, например: ФИО и должность подписантов;
  3. ячейки в которых прописаны формулы, например есть часть данных которая будет повторяться из акта в акт и такую информацию достаточно ввести один раз, например: наименование объекта, участок, организация и т.п.; либо формулы призванные реализовать технические возможности, например: переноса строки, подтягивание объемов работ, регалий по ФИО и т.п.


Здесь первая процедура постоянно будет защищать лист при помощи пароля 111, вторая будет блокировать функционал вырезать-вставить. Надо ли говорить, что это все работает только при включенных макросах, но с другой стороны без них и файл на 100% функционировать не будет.
Для случаев же п.2 разумно завести лист где столбцы будут содержать меняющиеся значения, прописать в них ссылки на диапазоны, присвоить им имена, т.е. на вкладке «Формулы» -> «Диспетчер имен» каждому диапазону присвоить имена и через вкладку «Данные» -> пункт меню «Проверка данных» -> вкладка «Параметры» -> условие проверки — «Список» реализовать выпадающее меню.

И, конечно, не забывайте ставить условия форматирования цветом, например для случаев, когда заполнены все необходимые строки в столбце через «Условное форматирование», например формула условного форматирования закрашивает ячейку, если следующие ячейки под ней содержат текст: =И(ДЛСТР(E5)>0; ДЛСТР(E6)>0)

2. Оптимизация кода + нововведения

Начать придется издалека, а именно вернуться к вопросу о реализации механизма заполнения шаблона. Если Вы решите заполнить шаблон в формате Excel и в формате Word, то это будут совершенно 2 разных механизма. В основе своей в файл Excel пишутся значения в конкретные ячейки файла или диапазоны ячеек и имеют привязку вида (у, х) (не спрашивайте почему у них строка идет впереди столбца при адресации — не знаю), например: Worksheet.Cells(y, x) = k. Отсюда же и первая мысль, что заполнять Excel-шаблон можно либо явным образом, т.е. непосредственно весь макрос будет содержать что откуда берется и куда закладывается, но что если придется вносить изменения в таблицы данных или выйдет новая форма шаблона? Отсюда вторая идея реализации, код которой описан в первой статье — это парсинг некоторых символов, которыми сперва заполняется массив, а так же в свою очередь содержит файл шаблона в нужных местах. Затем в каждой строке шаблона ищется совпадение с элементами массива поочередно, если совпадение есть, то порядковый номер массива привязан к строке таблицы откуда берутся данные, а столбец берется с листа в котором мы указываем какие именно акты мы хотим вывести. Итого несколько вложенных циклов, что накладывает ограничения на форматирование шаблона Excel, чем проще — тем лучше, потому что чем больше ячеек парсить — тем дольше будет происходить заполнение шаблона данными.

По многочисленным просьбам мною была интегрирована возможность вывода в шаблон формата Word, и здесь на самом деле есть 2 способа вывода текста:

когда мы так же считываем массив управляющих кодов, вручную прописываем их в шаблоне через «Вставка» -> «Закладки» и дальше просто прогоняем макросом присваивая закладке данные из соответствующей ей ячейке в файле Excel.

Здесь вынесена в отдельную процедуру обращение к закладке и arrСсылкиДанных(i) — это массив который содержит управляющие символы. Издержки метода, если Вам потребуется сослаться на значение Закладки в другом месте, например дату нужно использовать в заголовке и напротив фамилии каждого подписанта, то необходимо использовать в шаблоне Меню «Вставка» -> пункт меню «Перекрестная ссылка» -> Тип ссылки: «Закладка», Вставить ссылку на: «Текст закладки» и снять галочку «Вставить как гиперссылку». Что бы это отобрадзилось корректно не забудте обновить в конце макроса перед выводом поля Wd.Fields.Update

2. Если рисовать таблицы средствами Word, то к ним можно обращаться с адресацией в ячейку
Здесь нужно обратить внимание, что у каждой таблицы в Word есть свой внутренний номер, методом нехитрого перебора Вы найдете нужный, а дальше принцип тот же, что и в Excel.

Между выводами в файлы форматов Word и Excel есть огромная пропасть, которая заключается в следующем:

Шаблон Excel требует перед использованием настроить отображение под конкретный принтер, т.к. фактическая область печати разнится от модели к модели. Так же перенос строки текста возможен, но только в пределах ячейки/объединенных ячеек. В последнем случае не будте автораздвигания строки, в случае переноса текста. Т.е. Вам вручную придется заранее определит границы области, которые будут содержать текст, который в свою очередь в них еще должен убраться. Зато Вы точно задали границы печати и выводимого текста и уверены, что не съедет информация (но не содержание) с одного листа на другой.

Шаблон Word при настройке автоматически переносит текст на последующую строку, если он не убрался по ширине ячейки/строки, однако этим самым он вызывает непрогнозируемый сдвиг текста по вертикали. Учитывая тот факт, что по требованиям к Исполнительной документации в строительстве ЗАПРЕЩЕНО один акт печатать на 2х и более листах, то это в свою очередь так же рождает проблемы.

Вторым большим нововведением стал отказ от реализации переноса текстовых строк с макроса VBA и заменой на функцию Excel, благодаря чему ускорилась работа с файлом.

Для первой строки:

<=ЕСЛИОШИБКА(ЕСЛИ($F$20<>"-"; ЕСЛИ(ДЛСТР('Данные для проекта'!$C$3)<106;'Данные для проекта'!$C$3; ПСТР('Данные для проекта'!$C$3;1;105-ПОИСКПОЗ(" *"; ПРАВСИМВ(ПСТР('Данные для проекта'!$C$3;1;105); СТРОКА($1:$10));))));"-")>
<=ЕСЛИОШИБКА(ЕСЛИ($F$20<>"-"; ПСТР('Данные для проекта'!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105-ПОИСКПОЗ(" *"; ПРАВСИМВ(ПСТР('Данные для проекта'!$C$3; СУММ(ДЛСТР(F$1:F1))+1;105); СТРОКА($1:$10));)));"-")>

Здесь используется принцип массивов, т.е. вводится такой текст по Ctrl + Shift + Enter, а не обычному Enter. Сами формулы располагаются в ячейках F1 и F2. 'Данные для проекта'!$C$3 — ссылка на наименования объекта, длина текста которого более 105 символов. Перенос организуется в случае превышения длины текста в 105 символов.

Еще одним нововведением стал общий реестр, а так же контроль списания материалов по актам АОСР, но здесь ничего нового, просто парсинг соответствующих строк в свяске ИНДЕКС + ПОИСКПОЗ, которые расписаны во многих мануалах.

3. Структура и связи

Но мой пост так бы и остался рядовым постом с очередной игрой в изобретание велосипеда инструментами, которые рассчитаны на совершенно другое, если бы ни одно НО(!) Месячно-суточный график.


Идея о том, что можно именно на него много чего повесить, например заполнение Общего журнала работ в части Раздела 3 — наименование работ по датам, очередность и необходимость Актов освидетельствования скрытых работ и не только — завладела моими мыслями. Обычно в Excel закрашивают даты, в зависимости от диапазонов дат — начало и конец, но не на стройке. На стройке в календарном графике пишут объемы, а в зависимости от того с какой даты напротив наименования работ стоят объемы и по которую — получаются диапазоны дат отчетных периодов. На скриншоте серым помечены объемы попадающие в систематизированные отчетные периоды (1мес). Таким образом получается, что если:

Excel предоставляет мощные возможности анализа и представления данных. С шаблонами Excel можно легко создавать настроенный анализ и делиться им с другими пользователями организации.

Используйте шаблоны Excel для решения следующих задач:

Управление воронкой продаж

И многое другое…

Вы можете попробовать шаблоны Excel, включенные в приложения Customer Engagement (Dynamics 365 Sales, Dynamics 365 Customer Service, Dynamics 365 Field Service, Dynamics 365 Marketing и Dynamics 365 Project Service Automation), чтобы быстро понять, какой вид анализа возможен.

Пример шаблона Excel для анализа воронки продаж.

Создание нового шаблона Excel

Ниже дана пошаговая инструкция по созданию шаблона Excel.

Процесс создания шаблонов Excel.

Шаг 1. Создание нового шаблона из существующих данных

Создать шаблон Excel можно в двух разделах:

кнопка "Создать" или "Добавить".

На странице параметров. Выберите Параметры > Шаблоны > Шаблоны документов > Создать (). Для перехода на страницу параметров потребуются достаточные права такие как, системный администратор или настройщик системы.

Из списка записей. Например, щелкните Продажи > Возможные сделки > Мои открытые возможные сделки. В строке меню щелкните Шаблоны Excel > Создать шаблон Excel.

Параметр меню "Создать шаблон Excel".

Появится страница Создание шаблона.

Выберите данные для включения в шаблон

Щелкните Шаблон Excel.

Выберите сущность (тип записи) для включения в данные этой сущности. Представления, которые можно выбрать в следующем поле, зависят от выбранной сущности.

Щелкните Изменить столбцы, чтобы добавить, удалить и скорректировать свойства для столбцов, которые необходимо включить в шаблон.

Щелкните Загрузить файл, чтобы создать файл шаблона.

Можно также загрузить шаблон, который не содержит никаких данных, кроме столбцов, связанных с типом записи (сущностью), воспользовавшись командами Параметры > Управление данными > Шаблоны для импорта данных. Дополнительные сведения см. в разделе Загрузка шаблона импорта данных.

Шаблон документа, загруженный из одной среды, может использоваться только в рамках этой среды. Перенос из одной среды в другую для шаблонов Word или Excel в настоящее время не поддерживается.

В ходе создания шаблона Excel максимум 50 записей экспортируется в файл шаблона.

Шаг 2. Настройка данных в Excel

Откройте только что созданный шаблон в Excel, чтобы настроить данные.

Новый шаблон Excel.

Рассмотрим простой пример настройки шаблона Excel с использованием примера данных.

Пример настройки данных по возможным сделкам

Щелкните Разрешить редактирование, чтобы разрешить настройку электронной таблицы Excel.

Добавьте новый столбец и назовите его "Ожидаемый доход".

Настройка шаблона Excel.

Создайте формулу ожидаемого дохода. Не ссылайтесь на ячейки по адресам. Вместо этого определите и используйте имена.

Создание формулы в шаблоне Excel.

Создайте сводную таблицу и диаграмму. Эти и другие шаги демонстрации будут более подробно объясняться в будущем обновлении этого раздела.

Поместите добавленное пользователем содержание над существующей таблицей данных или справа от нее. Это исключает перезапись содержимого, если потом будут добавлены новые данные и создан новый шаблон Excel. Дополнительные сведения см. в разделе: Рекомендации и факторы, которые необходимо учитывать при использовании шаблонов Excel.

Шаблон Excel со сводной таблицей.

Сохраните электронную таблицу.

Шаг 3. Отправка шаблона и предоставление общего доступа к нему другим пользователям

Для администраторов: отправка шаблона Excel

Выберите Параметры > Шаблоны > Шаблоны документов.

Щелкните Загрузить шаблон.

Перетащите файл Excel в диалоговое окно или найдите и отправьте файл с помощью кнопки "Обзор".

Диалоговое окно отправки шаблона.

Для пользователей без прав администратора, которые хотят создать личный шаблон: отправьте шаблон Excel

Откройте страницу со списком записей, например, список возможных сделок по продаже. Перейдите в раздел Продажи > Возможные сделки > Мои открытые возможные сделки.

В строке меню щелкните Шаблоны Excel > Создать шаблон Excel.

Перетащите файл в диалоговое окно или найдите и отправьте файл с помощью кнопки "Обзор".

Шаг 4. Выбор пользователей нового шаблона

Доступ к созданному шаблону Excel зависит от того, как он был загружен, и от доступа согласно роли безопасности. Обязательно ознакомьтесь с разделом Использование ролей безопасности для управления доступом к шаблонам.

Если вы отправили шаблон со страницы "Параметры"

Шаблон Excel, отправленный со страницы "Параметры".

Шаблоны, отправленные со страницы "Параметры", доступны всем пользователям. Предпринимать дальнейшие действия не требуется.

Если шаблон отправлен из списка записей

Шаблон Excel, отправленный из списка записей.

Шаблоны, отправленные из списка записей, доступны пользователю, отправившему шаблон. Чтобы предоставить общий доступ к шаблону другим пользователям, выполните следующие действия.

Со страницы сведений о шаблоне щелкните Предоставить общий доступ.

Используйте страницу Предоставить общий доступ к личному шаблону документа, чтобы предоставить общий доступ к шаблону Excel другим пользователям и задать разрешения.

Предоставление общего доступа к шаблону Excel другим пользователям.

Экспорт и анализ данных с использованием нового шаблона

Процедура использования шаблона Excel выглядит следующим образом.

Последовательность операций по использованию шаблона Excel.

Шаг 1. Выберите сущность для анализа

Выберите сущность (тип записи), чтобы проанализировать ее вместе с созданным шаблоном Excel. Например, щелкните Продажи > Возможные сделки > Мои открытые возможные сделки. С момента создания шаблона были добавлены две новые возможности.

Список открытых возможных сделок.

Шаг 2. Экспорт данных с использованием нового шаблона Excel

Выберите созданный шаблон Excel.

Выберите созданный шаблон.

Этот шаблон был создан на странице параметров, поэтому он будет отображаться в меню Шаблоны Excel. Если бы он был создан из списка записей, он бы появился в разделе Личные шаблоны Excel.

Если у вас есть Microsoft Excel Online, вы можете увидеть данные на месте в окне Excel в приложениях Customer Engagement (например, Dynamics 365 Sales и Customer Service). В противном случае или если вы предпочитаете создать файл Excel, щелкните Загрузить <template name>.

Шаг 3. Анализ данных в Excel

Отображаемое в электронной таблице Excel зависит от двух факторов.

Записи. Представление, выбранное вами для экспорта, определяет, какие записи будут отображаться в экспортированном файле Excel. Например, если выбрано "Закрытые возможные сделки", вы увидите эти записи, даже если использовался шаблон, созданный с помощью раздела "Мои открытые возможные сделки".

Столбцы. Используемый шаблон определяет, какие столбцы отобразятся в таблице в экспортированном файле Excel. Например, представление "Закрытые возможные сделки" содержит следующие столбцы: потенциальный клиент, статус, фактический доход и фактическая дата закрытия. Но если шаблон, который вы использовали, был создан в разделе "Мои открытые возможные сделки", вы увидите столбцы, связанные с этим представлением, и все операции по фильтрации столбцов, выполненные при создании шаблона.

Шаг 4. Предоставление общего доступа к результатам другим пользователям

Если вы используете Excel, сохраните копию в Интернете или на компьютере. Отправьте файл другим на рассмотрение и добавление информации.

Опробуйте образцы шаблонов Excel

Есть четыре шаблона Excel, включенные в приложения Customer Engagement.

Попробуйте включенные шаблоны Excel.

Образцы шаблонов Excel были созданы с определенным типом записи (сущность). Вы сможете только применить шаблон к записями одного и того же типа.

Имя (название) Сущность
Управление воронкой продаж Возможная сделка (область продаж)
Обзор кампании Кампания (область маркетинга)
Обращения по состоянию SLA Обращение (область сервиса)
Сводка обращения Обращение (область сервиса)

Применение образца шаблона Excel

Откройте список записей со сведениями о типе сущности, соответствующем образцу шаблона. Например, откройте список возможных сделок, чтобы применить шаблон управления воронкой продаж.

Щелкните > Шаблоны Excel, а затем в разделе Шаблоны Excel выберите образец шаблона.

Загрузите шаблон или откройте его на месте в Excel.

Можно экспортировать шаблоны, включенные в приложения Customer Engagement, менять их, а затем повторно импортировать как новые шаблоны. Это позволит быстрее приступить к созданию собственных настраиваемых шаблонов Excel.

Рекомендации и факторы, которые необходимо учитывать при использовании шаблонов Excel

Ниже изложено, о чем нужно помнить при создании и использовании шаблонов Excel.

Тестирование шаблонов Excel

Excel имеет множество функций. Рекомендуется проверить свои настройки, чтобы убедиться, что все функции Excel работают так, как ожидается.

Конфиденциальность и сводные диаграммы

По умолчанию данные сводной диаграммы не обновляются при открытии электронной таблицы. Это может создавать проблемы безопасности, если некоторые данные сводной диаграммы не должны быть доступны пользователям с недостаточными разрешениями.

Рассмотрим следующий сценарий:

Администратор создает шаблон с конфиденциальными данными в сводных диаграммах и отправляет шаблон.

Специалист по продажам, который не должен иметь доступ к конфиденциальным данным в сводных диаграммах, использует шаблон для создания файла Excel для анализа данных.

Результат. Специалист по продажам может увидеть данные сводной диаграммы в том виде, в котором они загружаются администратором, включая доступ к представлениям, разрешение на просмотр которых у него отсутствует.

Дополнительно. iOS не поддерживает обновление сводных данных и сводных диаграмм при использовании приложения Excel на устройствах с iOS.

Рекомендация. Конфиденциальные данные не следует включать в сводные таблицы и диаграммы.

Настройка автоматического обновления данных сводной диаграммы

По умолчанию данные сводной диаграммы не обновляются автоматически при открытии электронной таблицы. Стандартные диаграммы обновляются автоматически.

В Excel щелкните правой кнопкой мыши сводную диаграмму, затем щелкните Параметры PivotChart > Обновлять данные при открытии файла.

Используйте этот параметр для гарантированного обновления данных.

Размещение новых данных

Если нужно добавить содержание в шаблон Excel, поместите данные над существующими или справа от них. Второй вариант — поместить новое содержание на второй лист.

Шаблоны Excel с изображениями могут становиться причиной ошибки

При попытке анализа данных с шаблоном Excel, в котором сохранено изображение, может отобразиться следующая ошибка: "Произошла ошибка при попытке сохранить рабочую книгу. В результате книга не сохранена". Попытайтесь удалить изображение из шаблона и повторно загрузить его.

Шаблоны Excel и приложение Office Mobile в Windows 8.1

Это известная проблема.

Использование имен столбцов таблицы и имен диапазона в формулах

При создании формул Excel не используйте заголовки столбцов или номера ячеек. Вместо этого воспользуйтесь именами столбцов таблиц и укажите имена для ячеек и диапазонов ячеек.

Использование ролей безопасности для управления доступом к шаблонам

Администраторы могут контролировать доступ к шаблонам Excel достаточно детально. Например, можно продавцу можно дать права на чтение, но не на запись для шаблона Excel.

Щелкните Параметры > Безопасность > Роли безопасности.

Выберите роль и перейдите на вкладку "Управление бизнесом".

Выберите Шаблон документа, чтобы настроить доступ для доступных шаблонов для всей организации. Выберите Личный шаблон документа для шаблонов с общим доступом для отдельных пользователей.

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

Коррекция доступа с помощью роли безопасности.

Просмотр и удаление личных шаблонов документов

Для удаления личных шаблонов документов выполните следующие действия:

Нажмите "Расширенный поиск" ( ).

Для Поиск выберите Личные шаблоны документов.

Щелкните Результаты (!).

кнопка "Удалить".

Выберите личный шаблон документа для удаления, а затем нажмите "Удалить" ().

Шаблон Excel не отправляется в Microsoft Edge

Если шаблон Excel не отправится при использовании Microsoft Edge в качестве браузера, обновите Microsoft Edge и повторите попытку.

Уведомление о конфиденциальности

Если вы используете Microsoft Dynamics 365 (online), в результате экспорта данных в статический лист будет создана локальная копия экспортируемых данных и сохранена на компьютере. Данные передаются из Dynamics 365 (online) на ваш компьютер с помощью безопасного подключения, и связь между локальной копией и Dynamics 365 (online) не сохраняется.

При экспорте в динамический лист или сводную таблицу связь между листом Excel и Dynamics 365 (online) сохраняется. Каждый раз при обновлении экспортированного динамического листа или сводной таблицы пользователь должен проходить аутентификацию в Dynamics 365 (online) с использованием своих учетных данных. Вы сможете увидеть только те данные, на просмотр которых у вас есть разрешения.

Администратор определяет, обладают ли пользователи вашей организации разрешениями на экспорт данных в Excel, с помощью ролей безопасности.

Имеем базу данных (список, таблицу - называйте как хотите) с информацией по платежам на листе Данные:

Задача: быстро распечатывать приходно-кассовый ордер (платежку, счет-фактуру. ) для любой нужной записи выбранной из этого списка. Поехали!

Шаг 1. Создаем бланк

На другом листе книги (назовем этот лист Бланк) создаем пустой бланк. Можно самостоятельно, можно воспользоваться готовыми бланками, взятыми, например, с сайтов журнала "Главный Бухгалтер" или сайта Microsoft. У меня получилось примерно так:

order_database2.jpg

В пустые ячейки (Счет, Сумма, Принято от и т.д.) будут попадать данные из таблицы платежей с другого листа - чуть позже мы этим займемся.

Шаг 2. Подготовка таблицы платежей

Прежде чем брать данные из таблицы для нашего бланка, таблицу необходимо слегка модернизировать. А именно - вставить пустой столбец слева от таблицы. Мы будем использовать для ввода метки (пусть это будет английская буква "икс") напротив той строки, данные из которой мы хотим добавить в бланк:

Шаг 3. Связываем таблицу и бланк

Для связи используем функцию ВПР (VLOOKUP) - подробнее про нее можно почитать здесь. В нашем случае для того, чтобы вставить в ячейку F9 на бланке номер помеченного "x" платежа с листа Данные надо ввести в ячейку F9 такую формулу:

Т.е. в переводе на "русский понятный" функция должна найти в диапазоне A2:G16 на листе Данные строку, начинающуюся с символа "х" и выдать нам содержимое второго столбца этой строки, т.е. номер платежа.

Аналогичным образом заполняются все остальные ячейки на бланке - в формуле меняется только номер столбца.

В итоге должно получиться следующее:

order_database4.jpg

Шаг 4. Чтобы не было двух "х".

Если пользователь введет "х" напротив нескольких строк, то функция ВПР будет брать только первое найденное значение. Чтобы не было такой многозначности, щелкните правой кнопкой мыши по ярлычку листа Данные и выберите Исходный текст (Source Code) . В появившееся окно редактора Visual Basic скопируйте следующий код:

Этот макрос не дает пользователю ввести больше одного "х" в первый столбец.

Читайте также: