Microsoft Excel имеет различные функции, одна из которых - автоматическое создание отчетов. Вы можете создавать интерактивные электронные таблицы, чтобы упростить процесс ввода данных для других в книгу, а также автоматизировать создание отчетов. Обе эти функции требуют достаточных знаний Visual Basic. Шаги для выполнения обеих задач описаны ниже.
Шаг
Метод 1 из 2: создание интерактивной электронной таблицы
Шаг 1. Определите макет электронной таблицы
Макет электронной таблицы должен быть выполнен таким образом, чтобы другие могли найти поля, необходимые для ввода данных.
Макеты электронных таблиц могут быть расположены горизонтально или вертикально. Большинству пользователей легче работать с вертикальной компоновкой, особенно если электронная таблица будет распечатана
Шаг 2. Создайте текстовые метки для электронной таблицы
Напишите метку вверху каждого столбца и слева от каждой ячейки в столбце, который вы планируете использовать в качестве ввода данных.
Шаг 3. Одновременно нажмите клавиши alt="Image" и F11
Эта комбинация клавиш откроет редактор Microsoft Visual Basic.
Шаг 4. Дважды щелкните «Эта книга» на панели «Проект-VBA» в левом верхнем углу
В основном разделе редактора появится окно для написания кода.
Шаг 5. Выберите «Процедура» из меню «Вставка»
Появится диалоговое окно «Добавить процедуру».
Шаг 6. Введите название процедуры в поле Имя
Введите понятное имя для процедуры, например SumExpenses, если электронная таблица будет использоваться для отчета о командировочных расходах. Щелкните ОК, чтобы закрыть диалоговое окно.
- Имена процедур не могут содержать пробелы, но могут использовать подчеркивание (_) для замены пробелов.
- После закрытия диалогового окна «Добавить процедуру» появится строка с надписью «Public Sub», за которой следует имя процедуры. Ниже этой строки есть пробел и слова «End Sub».
Шаг 7. Введите код для каждого поля ввода в электронной таблице
Вы напишете две строки кода для каждой записи.
- Первая строка кода имеет вид «Диапазон (« имя ячейки »). Выбрать», «имя ячейки» представляет ячейку, в которую вводятся данные. Введите имя ячейки, которая находится справа от текстовой метки. Если текстовая метка находится в ячейке A2, поле для ввода - ячейка B2 (Диапазон («B2»). Выбрать). Кавычки до и после имени ячейки все еще записываются на этом этапе, но больше не включаются в полный оператор кода.
- Код во второй строке: ActiveCell. Value = InputBox ("InputPrompt") ". «InputPrompt» представляет текст, который появится, чтобы уведомить пользователя о типе данных, которые нужно ввести в ячейку ввода. Например, если ячейка ввода будет заполнена расходами на питание, замените «InputPrompt» на «Введите общие расходы на питание, включая чаевые». (Кавычки для текста инструкции ввода по-прежнему включены, а кавычки до и после команды писать не нужно.)
Шаг 8. Введите код для каждого поля расчета
Опять же, две используемые строки такие же, как и раньше, но на этот раз ActiveCell. Value - это вычисление числовой функции, например SUM, где функция InputBox используется для отображения инструкций ввода.
Шаг 9. Добавьте строку кода, чтобы сохранить интерактивную электронную таблицу
Формат: «ActiveWorkbook. SaveAs Filename: =« Filename.xls ».« Filename »- это имя интерактивной электронной таблицы. (Кавычки до и после« Filename.xls »остаются записанными, а кавычки для всех команд - не требуется.)
Если вы используете Microsoft Excel версии 2007 или более поздней, используйте «.xlsx» вместо «.xls». Однако, если есть пользователи интерактивных электронных таблиц с версией Excel 2003 и ниже, они не смогут использовать электронную таблицу без подключаемого модуля для чтения
Шаг 10. Одновременно нажмите клавиши alt="Image" и Q
Редактор Visual Basic закроется.
Шаг 11. Одновременно нажмите клавиши alt="Image" и F8
Появится диалоговое окно «Макрос».
Шаг 12. Щелкните имя процедуры в списке макросов
Если созданная процедура является единственной в списке, она будет выбрана автоматически.
Шаг 13. Щелкните кнопку Параметры
Вам будет предложено ввести символ клавиатуры для использования в качестве сочетания клавиш с клавишей Ctrl. Выберите значимую букву, которая не использовалась в качестве символа быстрого доступа, например «e» для «ввода».
Шаг 14. Нажмите «ОК», чтобы закрыть диалоговое окно «Параметры макроса»
Теперь вы можете распространять интерактивные таблицы среди пользователей. После его открытия пользователь может использовать сочетания клавиш для ввода данных и следовать созданным вами инструкциям по заполнению данных.
Метод 2 из 2: автоматическое создание отчетов
Шаг 1. Создайте отчет в сводной таблице
Сводные таблицы предназначены для обобщения данных, чтобы вы могли сравнивать числа и определять тенденции. Сводная таблица должна относиться к данным, которые находятся в одном из процессоров данных или импортированы из определенной базы данных.
Шаг 2. Напишите сценарий Visual Basic для открытия и закрытия отчета
Сценарий должен уметь выполнять различные функции, перечисленные ниже. Каждая функция будет описана, а в скобках приведен код для ее реализации. При написании фактического кода запишите его в одном блоке, заменив имя в примере своим собственным и не включайте круглые скобки в начале и конце образца кода.
- Откройте электронную таблицу в режиме только для чтения. [DIM XLAppSet XLApp = CreateObject ("Excel. App") xlapp.visible = falsexlapp.workbooks.open / excelloc / filename.xls, 3,]
- Перезагрузите данные и сохраните отчет, в этом примере он сохранен в формате PDF с подписью даты. [Truexlapp.activeworkbook. RefreshAllxlapp.activeworkbook. ExportAsFixedFormat xlTypePDF, / pdfloc / reportname_ & DatePart ("yyyy, Now ()) &" - "& Right (" 0 "& DatePart (" m ", Now ()), 2) & "-" Right ("0" & DatePart ("d", Now ()), 2) & ".pdf"] Если формат выходного документа отличается, замените формат ".pdf" на правильное расширение по желанию.
- Закройте электронную таблицу, не сохраняя ее, затем закройте Excel. [xlQualityStandardxlapp.activeworkbook.close Falsexlapp.quit]
- Используйте «.xlsx» вместо «.xls» в конце электронной таблицы, если электронная таблица сохранена в Excel 2007 и более позднем формате на основе XML.
Шаг 3. Напишите пакетный сценарий для запуска сценария Visual Basic
Цель написания сценария - автоматическое выполнение сценариев Visual Basic. Без пакетного сценария сценарии VB нужно запускать вручную.
Сценарий написан в следующем формате, заменяющем имя вашей папки и имя файла на имя, указанное в этом примере: [cscript / nologo / fileloc / script.vbs]
Шаг 4. Напишите пакетный сценарий, чтобы убедиться, что выходной файл существует в том виде, в котором он был создан
Ваш скрипт должен выполнять следующие функции. За каждой функцией будет следовать код, указанный в скобках для ее реализации. При написании фактического кода запишите его в одном блоке, заменив имя в примере на имя, которое вам нужно, и не включайте круглые скобки в начале и в конце образца кода.
- Проверьте, есть ли выходной файл. [For / f "tokens = 2-4 delims = /" %% a in ('date / t') do set rreport = reportname _ %% c - %% a - %% b.pdf)] Если формат выходного файла не PDF, замените ".pdf" на соответствующее расширение.
- Если выходной файл / отчет существует, отправьте его по электронной почте тому, кому он нужен. [Если существует / pdfloc \% rreport% (sendmail -f [email protected] -t [email protected] -u Запланированный отчет -m Отчет %% report% прилагается. -A / pdfloc \% rreport% -s ваш сервер: порт -xu имя пользователя -xp пароль)]
- Если выходной файл / отчет не существует в указанном месте, создайте процедуру, чтобы она могла отправить вам сообщение о том, что доставка не удалась. [Иначе (sendmail -f [email protected] -t [email protected] -u Отчет не запущен -m файл% rreport% не существует в / pdfloc / -s yourserver: port -xu username -xp password)]
Шаг 5. Убедитесь, что на компьютере есть папка «Рабочий стол»
Вы должны проверить наличие папки Desktop как для 32-битных, так и для 64-битных систем. В противном случае Excel и электронную таблицу придется открывать вручную.
- Расположение в 32-битной системе: c: / windows / system32 / config / systemprofile
- Расположение в 64-битной системе: c: / windows / syswow64 / config / systemprofile
Шаг 6. Запланируйте задачи для запуска скриптов по мере необходимости
Пакетные сценарии должны выполняться последовательно и непрерывно, даже если никто не использует компьютер. Необходимо установить максимально возможные привилегии.