Создание приложения на основе холста с данными из файла Excel
В этом разделе вы автоматически создадите свое первое приложение на основе холста в Power Apps с помощью данных из таблицы Excel. Вы выберете файл Excel, создадите приложение, а затем запустите созданное приложение. Каждое создаваемое приложение имеет экраны для просмотра списка записей и подробных сведений об отдельных записях, а также для создания и изменения записей. Вы можете быстро создать приложение, использующее данные Excel, а затем настроить его так, как вам требуется.
При отсутствии лицензии на Power Apps можно зарегистрироваться бесплатно.
Когда вы отправляете в систему файл Excel, по нему генерируется таблица Dataverse. Стандартные и пользовательские таблицы Dataverse позволяют безопасно хранить данные в облаке. Эти таблицы позволяют вам определять данные вашей организации в полном соответствии с вашими бизнес-задачами, что упрощает их использование в ваших приложениях. Дополнительная информация: Преимущества использования Dataverse
Если ваша среда находится в регионе США и в вашей организации включен ИИ, функция ИИ Copilot может помочь вам в создании таблиц, предлагая имена таблиц, описания, типы данных столбцов, и заголовки, даже если эта информация отсутствует в отправляемом файле. При использовании для создания таблицы ИИ Copilot отображается карточка Copilot, указывающая на то, что таблица была сгенерирована ИИ Copilot.
Для точного выполнения инструкций в этой статье скачайте файл Flooring Estimates в Excel и сохраните его на своем устройстве.
Отправка в систему файла Excel для создания приложения
- Войдите в Power Apps.
- На главном экране выберите Начать с данных >Отправить файл Excel.
- Выберите Выбрать с устройства, перейдите в расположение, где сохранен ваш файл Excel, и отправьте его. Максимальный размер файла — 5 ГБ.
- После создания таблицы выберите имя столбца или имя таблицы, чтобы изменить свойства в соответствии с вашими потребностями. Если в ячейках есть значения, несовместимые с выбранным типом данных при изменении типов данных столбцов, эти значения будут удалены при генерации таблицы.
- Выберите Владение строками и укажите, как вы хотите управлять владением строками.
- Закончив, нажмите Создать приложение. Система отправит первые 20 строк в качестве образца данных, чтобы вы могли приступить к просмотру данных в своем приложении. Остальные данные будут отправлены в фоновом режиме.
О том, как создать приложение путем подключения к Excel, см. в статье Подключение к Excel из Power Apps.
Известные проблемы
- Текущий процесс отправки данных не учитывает формат данных среды.
Выполнить приложение
- Выберите значок воспроизведения в верхнем правом углу, чтобы просмотреть приложение.
- Отфильтруйте список, введя один или несколько символов в поле поиска. Например, введите или вставьте Honey, чтобы показать единственную запись, для которой эта строка появляется в названии продукта, категории или обзоре.
- Добавьте запись:
- Выберите Создать запись.
- Добавьте любые данные, которые вы хотите, затем выберите значок галочки, чтобы сохранить изменения.
- Выберите запись, которую вы хотите отредактировать.
- Выберите значок карандаша.
- Обновите одно или несколько полей, затем выберите значок галочки, чтобы сохранить изменения. В качестве альтернативы выберите значок отмены, чтобы отменить изменения.
- Выберите запись, которую вы хотите удалить.
- Выберите значок корзины.
Следующие шаги
Настройте экрана обзора по умолчанию в соответствии со своими потребностями. Например, можно отсортировать и отфильтровать список только по названию продукта, а не по категории или обзору.
Каковы ваши предпочтения в отношении языка документации? Пройдите краткий опрос (обратите внимание, что этот опрос представлен на английском языке).
Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).
Обратная связь
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.
Отправить и просмотреть отзыв по
Как создать программу в эксель
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ruИспользование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071Как написать макрос в Excel на языке программирования VBA
Каждый пользователь сталкивался с тем, что иногда в Excel не найти подходящих инструментов, которые бы соответствовали потребностям. При всем изобилии возможностей Excel иногда нельзя автоматизировать решения некоторых задач, ведь совершенству нет предела. Идеальное решение – это предоставление возможности пользователю самому создавать свои специфические инструменты. Для этого были созданы макросы.
Написание макросов в Excel
Код макроса Excel написанный на языке Visual Basic for Application (VBA), а его выполняет инструмент приложения, к которому он присоединен. Большинство этих инструментов не доступно на уровне окна программы Excel. Как написать макрос.
Теперь продемонстрируем на примере информацию о том, как писать, редактировать и выполнять код макроса.
Чтобы написать макрос:
- Откройте рабочую книгу Excel, в которой необходимо использовать макрос: «РАЗРАБОТЧИК»-«Код»-«Visual Basic». Или нажмите комбинацию горячих клавиш ALT+F11.

- Перед началом работы в редакторе следует сделать простую настройку. Выберите инструмент в редакторе Visual Basic: «Tools»-«Options». И на вкладке «Editor» активируйте опцию «Require Variable Declaration». Это позволит реализовать автоматическое заполнение инструкций Options Explicit в начале каждого ново созданного кода. А в поле ввода «Tab Width:» укажите значение 2 вместо 4-х. Это позволит уменьшить ширину кода. Данная настройка редактора распространяется на все листы, но в границах одной рабочей книги.

- Выберите инструмент: «Insert»-«Module» чтобы создать новый стандартный модуль для макросов. В появившемся окне модуля под текстом Option Explicit введите следующий код макроса:
Sub MyMakros()
Dim polzovatel As String
Dim data_segodnya As Date
polzovatel = Application.UserName
data_segodnya = Now
MsgBox «Макрос запустил пользователь: » & polzovatel & vbNewLine & data_segodnya
End Sub
- Нажмите на кнопку в редакторе «Run Macro» или клавишу F5 на клавиатуре. В появившемся окне «Macros» нажмите на кнопку «Run», чтобы посмотреть результат работы макроса.

Примечание. Если в главном меню отсутствует закладка «РАЗРАБОТЧИК», тогда ее необходимо активировать в настройках: «ФАЙЛ»-«Параметры»-«Настроить ленту». В правом списке «Основные вкладки:» активируйте галочкой опцию «Разработчик» и нажмите на кнопку ОК.
Возможности макросов в Excel
Макросы позволяют автоматизировать процессы работы с документами и не только… Они могут практически одновременно выполнить тысячи инструментов за одну операцию (даже по одному клику мышкой). Таким образом расширяются возможности работы с программой.
С помощью макросов пользователь может сам создать свой инструмент, которого ему недостает в арсенале программы Excel. Например, когда нужно автоматически выделить каждую вторую строку одним кликом. Или нужно одновременно создать сразу определенное количество копий определенного рабочего листа. Список потребностей пользователей в автоматизации процессов работы можно продолжать до бесконечности.
Если бы не было возможности создавать макросы во всех программах, входящих в пакет MS Office. То множество операций в процессе рутинной работы пользователям приходилось бы выполнять вручную (выделять через одну строку кликая по каждому второму заголовку мышкой или копировать вставлять по одному листу). Ручная работа в лучшем случаи приводить к потере огромного количества времени, а в худшем – ведет к ошибкам или даже потере ценных данных.
Возможность создавать макросы и автоматизировать рабочие процессы бережет вашу работу от лишних потерь времени и возникновения ошибок. Далее рассмотрим, как создать макрос, который безошибочно и автоматически выполнить рутинную работу в один клик мышкой. Так же рассмотрим в каких местах рабочей книги Excel можно создавать и хранить макросы. Как их запустить и выполнить, а также как их максимально оптимизировать под свои потребности.
Excel предоставляет большой и изобильный арсенал инструментов для хранения и обработки огромного количества информации с данными. Хотя для самой универсальной аналитической программы Excel – хранение данных само по себе менее интересно, чем возможность их обрабатывать, структурировать и анализировать с презентацией в отчетах. Для этих целей служит сильнейший аналитических инструмент по обработке данных такой как «Сводные таблицы». Но и его можно еще более усовершенствовать с помощью макросов. И тогда возможности сводных таблиц не знают границ.
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Создание пользовательских функций в Excel
Хотя в Excel предлагается большое число встроенных функций, в нем может не быть той функции, которая нужна для ваших вычислений. К сожалению, разработчики Excel не могли предугадать все потребности пользователей. Однако в Excel можно создавать собственные функции, и ниже вы найдете все нужные для этого инструкции.
Создание простой пользовательской функции
Пользовательские функции (как и макросы) записываются на языке программирования Visual Basic для приложений (VBA). Они отличаются от макросов двумя вещами. Во-первых, в них используются процедуры Function, а не Sub. Это значит, что они начинаются с оператора Function, а не Sub, и заканчиваются оператором End Function, а не End Sub. Во-вторых, они выполняют различные вычисления, а не действия. Некоторые операторы (например, предназначенные для выбора и форматирования диапазонов) исключаются из пользовательских функций. Из этой статьи вы узнаете, как создавать и применять пользовательские функции. Для создания функций и макросов используется редактор Visual Basic (VBE), который открывается в отдельном окне.
Предположим, что ваша компания предоставляет скидку в размере 10 % клиентам, заказавшим более 100 единиц товара. Ниже мы объясним, как создать функцию для расчета такой скидки.
В примере ниже показана форма заказа, в которой перечислены товары, их количество и цена, скидка (если она предоставляется) и итоговая стоимость.

Чтобы создать пользовательскую функцию DISCOUNT в этой книге, сделайте следующее:
- Нажмите клавиши ALT+F11 (или FN+ALT+F11 на Mac), чтобы открыть редактор Visual Basic, а затем щелкните Insert (Вставка) >Module (Модуль). В правой части редактора Visual Basic появится окно нового модуля.
- Скопируйте указанный ниже код и вставьте его в новый модуль.
Function DISCOUNT(quantity, price) If quantity >=100 Then DISCOUNT = quantity * price * 0.1 Else DISCOUNT = 0 End If DISCOUNT = Application.Round(Discount, 2) End Function
Примечание: Чтобы код было более удобно читать, можно добавлять отступы строк с помощью клавиши TAB. Отступы необязательны и не влияют на выполнение кода. Если добавить отступ, редактор Visual Basic автоматически вставит его и для следующей строки. Чтобы сдвинуть строку на один знак табуляции влево, нажмите SHIFT+TAB.
Применение пользовательских функций
Теперь вы готовы использовать новую функцию DISCOUNT. Закройте редактор Visual Basic, выделите ячейку G7 и введите следующий код:
=DISCOUNT(D7;E7)
Excel вычислит 10%-ю скидку для 200 единиц по цене 47,50 ₽ и вернет 950,00 ₽.
В первой строке кода VBA функция DISCOUNT(quantity, price) указывает, что функции DISCOUNT требуется два аргумента: quantity (количество) и price (цена). При вызове функции в ячейке листа необходимо указать эти два аргумента. В формуле =DISCOUNT(D7;E7) аргумент quantity имеет значение D7, а аргумент price — значение E7. Если скопировать формулу в ячейки G8:G13, вы получите указанные ниже результаты.
Рассмотрим, как Excel обрабатывает эту функцию. При нажатии клавиши ВВОД Excel ищет имя DISCOUNT в текущей книге и определяет, что это пользовательская функция в модуле VBA. Имена аргументов, заключенные в скобки (quantity и price), представляют собой заполнители для значений, на основе которых вычисляется скидка.

Оператор If в следующем блоке кода проверяет аргумент quantity и сравнивает количество проданных товаров со значением 100:
If quantity >= 100 Then DISCOUNT = quantity * price * 0.1 Else DISCOUNT = 0 End If
Если количество проданных товаров не меньше 100, VBA выполняет следующую инструкцию, которая перемножает значения quantity и price, а затем умножает результат на 0,1:
Discount = quantity * price * 0.1
Результат хранится в виде переменной Discount. Оператор VBA, который хранит значение в переменной, называется оператором назначения, так как он вычисляет выражение справа от знака равенства и назначает результат имени переменной слева от него. Так как переменная Discount называется так же, как и процедура функции, значение, хранящееся в переменной, возвращается в формулу листа, из которой была вызвана функция DISCOUNT.
Если значение quantity меньше 100, VBA выполняет следующий оператор:
Наконец, следующий оператор округляет значение, назначенное переменной Discount, до двух дробных разрядов:
Discount = Application.Round(Discount, 2)
В VBA нет функции округления, но она есть в Excel. Чтобы использовать округление в этом операторе, необходимо указать VBA, что метод (функцию) Round следует искать в объекте Application (Excel). Для этого добавьте слово Application перед словом Round. Используйте этот синтаксис каждый раз, когда нужно получить доступ к функции Excel из модуля VBA.
Правила создания пользовательских функций
Пользовательские функции должны начинаться с оператора Function и заканчиваться оператором End Function. Помимо названия функции, оператор Function обычно включает один или несколько аргументов. Однако вы можете создать функцию без аргументов. В Excel доступно несколько встроенных функций (например, СЛЧИС и ТДАТА), в которых нет аргументов.
После оператора Function указывается один или несколько операторов VBA, которые проверят соответствия условиям и выполняют вычисления с использованием аргументов, переданных функции. Наконец, в процедуру функции следует включить оператор, назначающий значение переменной с тем же именем, что у функции. Это значение возвращается в формулу, которая вызывает функцию.
Применение ключевых слов VBA в пользовательских функциях
Количество ключевых слов VBA, которые можно использовать в пользовательских функциях, меньше, чем число, используемое в макросах. Пользовательским функциям не разрешено выполнять какие-либо действия, кроме возврата значения формуле на листе или выражению, используемому в другом макросе или функции VBA. Например, пользовательские функции не могут изменять размер окон, изменять формулу в ячейке или изменять параметры шрифта, цвета или шаблона для текста в ячейке. Если в процедуру функции включен код действия такого рода, функция возвращает #VALUE! ошибку #ЗНАЧ!.
Единственное действие, которое может выполнять процедура функции (кроме вычислений), — это отображение диалогового окна. Чтобы получить значение от пользователя, выполняющего функцию, можно использовать в ней оператор InputBox. Кроме того, с помощью оператора MsgBox можно выводить сведения для пользователей. Вы также можете использовать настраиваемые диалоговые окна (UserForms), но эта тема выходит за рамки данной статьи.
Документирование макросов и пользовательских функций
Даже простые макросы и пользовательские функции может быть сложно понять. Чтобы сделать эту задачу проще, добавьте комментарии с пояснениями. Для этого нужно ввести перед текстом апостроф. Например, ниже показана функция DISCOUNT с комментариями. Благодаря подобным комментариями и вам, и другим будет впоследствии проще работать с кодом VBA. Так, код будет легче понять, если потребуется внести в него изменения.

Апостроф указывает приложению Excel на то, что следует игнорировать всю строку справа от него, поэтому вы можете добавлять комментарии в отдельных строках или в правой части строк, содержащих код VBA. Советуем начинать длинный блок кода с комментария, в котором объясняется его назначение, а затем использовать встроенные комментарии для документирования отдельных операторов.
Кроме того, рекомендуется присваивать макросам и пользовательским функциям описательные имена. Например, присвойте макросу название MonthLabels вместо Labels, чтобы более точно указать его назначение. Описательные имена макросов и пользовательских функций особенно полезны, если существует множество процедур с похожим назначением.
Документирование макросов и пользовательских функций зависит от личных предпочтений. Важно внедрить некоторый метод документации и использовать его последовательно.
Предоставление доступа к пользовательским функциям
Чтобы использовать пользовательскую функцию, необходимо открыть книгу, содержащую модуль, в котором была создана функция. Если книга не открыта, вы получите #NAME? ошибка при попытке использовать функцию. Если вы ссылаетесь на функцию в другой книге, перед именем функции следует указать имя книги, в которой находится функция. Например, если вы создаете функцию DISCOUNT в книге Personal.xlsb и вызываете эту функцию из другой книги, необходимо ввести =personal.xlsb!discount(), а не просто =discount().
Чтобы вставить пользовательскую функцию быстрее (и избежать ошибок), ее можно выбрать в диалоговом окне «Вставка функции». Пользовательские функции доступны в категории «Определенные пользователем»:
Проще сделать пользовательские функции доступными в любое время— сохранить их в отдельной книге, а затем сохранить ее в виде надстройки. Затем можно сделать надстройку доступной при каждом запуске Excel. Вот как это сделать:
- Создав нужные функции, выберите Файл >Сохранить как. В Excel 2007 нажмите кнопку Microsoft Office, а затем щелкните Сохранить как.
- В диалоговом окне Сохранить как откройте раскрывающийся список Тип файла и выберите значение Надстройка Excel. Сохраните книгу с запоминающимся именем, таким как MyFunctions, в папке AddIns. Она будет автоматически предложена в диалоговом окне Сохранить как, поэтому вам потребуется только принять расположение, используемое по умолчанию.
- Сохранив книгу, выберите Файл >Параметры Excel. В Excel 2007 нажмите кнопку Microsoft Office и щелкните Параметры Excel.
- В диалоговом окне Параметры Excel выберите категорию Надстройки.
- В раскрывающемся списке Управление выберите Надстройки Excel. Затем нажмите кнопку Перейти.
- В диалоговом окне Надстройки установите флажок рядом с именем книги, как показано ниже.
- Создав нужные функции, выберите Файл >Сохранить как.
- В диалоговом окне Сохранить как откройте раскрывающийся список Тип файла и выберите значение Надстройка Excel. Сохраните книгу с запоминающимся именем, таким как MyFunctions.
- Сохранив книгу, выберите Сервис >Надстройки Excel.
- В диалоговом окне Надстройки нажмите кнопку «Обзор», найдите свою надстройку, нажмите кнопку Открыть, а затем установите флажок рядом с надстройкой в поле Доступные надстройки.
После выполнения этих действий пользовательские функции будут доступны при каждом запуске Excel. Если вы хотите добавить в библиотеку функций, вернитесь в редактор Visual Basic. Если вы посмотрите на проект редактора Visual Basic Обозреватель под заголовком VBAProject, вы увидите модуль с именем файла надстройки. Ваша надстройка будет иметь расширение .xlam.
Дважды щелкните модуль в Project Explorer, чтобы вывести код функций. Чтобы добавить новую функцию, установите точку вставки после оператора End Function, который завершает последнюю функцию в окне кода, и начните ввод. Вы можете создать любое количество функций, и они будут всегда доступны в категории «Определенные пользователем» диалогового окна Вставка функции.
Об авторах
Эта статья основана на главе книги Microsoft Office Excel 2007 Inside Out, написанной Марком Доджем (Mark Dodge) и Крейгом Стинсоном (Craig Stinson). В нее были добавлены сведения, относящиеся к более поздним версиям Excel.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.