Как в excel создать программу: Создать программу в excel

Содержание

Как начать писать макросы в MS Excel 2007 | Планета Решений

      Статья предназначена для людей, которые хотят научиться писать программы на встроенном в Excel Visual Basic (VBA), но абсолютно не знают что это такое.

      Для начала - несколько слов о том, зачем это нужно. Средство VBA в MS Excel, представляет нам универсальный инструмент для быстрого и точного решения любых индивидуальных пользовательских задач в MS Excel. Можно конечно использовать и встроенные в MS Excel функции которых великое множество, однако они далеко не всегда решают поставленную задачу.
      Итак, создадим для примера простейшую программу. Будем использовать MS Excel 2007.  Откройте MS Excel, нажмите "сохранить как" и сохраните файл Вашей программы нажав "Книга ексель с поддержкой макросов". 


      Далее необходимо включить вкладку "Разработчик". Для этого нажимаем "Параметры Excel" 
       Ставим галочку на "Показывать вкладку "Разработчик" на ленте"

 
       После этого на ленте, в верху листа Excel, появится вкладка "Разработчик", которая содержит в себе инструменты для создания VBA макросов.
       Представим себе небольшую задачу - допустим мы имеем 2 числа, нам необходимо их сложить и по полученной сумме получить значение из нашей таблицы.

       Поставим в ячейки Листа1 следующие значения:

 
      на Листе2 заполним ячейки, создав таблицу из 2 столбцов

 
       Далее перейдем на Лист1, нажмем на вкладку "Разработчик", "Вставить", на ней выберем кнопку 
и нарисуем кнопку на Листе1, после чего сразу появится окно "Назначить макрос объекту", в котором выбираем "Создать" 
       После этого откроется редактор Visual Basic, и автоматически напишется наименование процедуры, которая будет выполняться при нажатии кнопки. Под названием процедуры впишем следующий код:

 
      Код выполнит следующие действия:

  • MsgBox ("Это мой первый Макрос!") - сообщение
  • Переменной q присваивается значение ячейки на Листе1, с координатами 2 строка, 2 столбец
  • Переменной w присваивается значение ячейки на Листе1, с координатами 3 строка, 2 столбец
  • В ячейку на Листе1, с координатами 4 строка, 2 столбец, записывается сумма q+w



      Далее получим значение столбца В из Листа2, которое расположено на той же строке где значение нашей суммы совпадает с значением столбца А.

      Введем следующий код:

 
и получим при нажатии на кнопку следующий результат:

 
из результата видно что макрос подобрал число из таблицы на Листе2 в соответствии с нашей суммой.
      Не буду вдаваться в подробности этого хитрого кода, так как цель данной статьи - начать писать макросы. Для VBA в интернете есть масса ресурсов, с примерами и разъяснениями, хотя для автоматизации расчетов вполне хватит объема информации в справке.

      Таким образом с помощью VBA возможно автоматизировать расчет любой сложности и последовательности. Справочные таблицы можно копировать из различной литературы на отдельные листы Excel и писать последовательный расчет с кнопками.

Альтернатива Excel для учета. От Excel к личным кабинетам и CRM

Существует немало программ, которые в корне поменяли подходы в некоторых аспектах бизнеса. Это и графические пакеты типа Photoshop, текстовые редакторы, CRM и др.

Среди программ-гигантов по праву занимает место электронные таблицы MS Excel.

Excel - это больше чем, просто некая табличка с возможностями размножить формулу по ячейкам.

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

За что мы любим Excel? Преимущества Excel для бизнеса

Excel - это лучшее средство быстрой организации чего угодно. 

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

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

В Excel можно вести абсолютно все. Причем, настроить такой учет можно очень быстро. И это может сделать любой человек с минимальными навыками работы с ПК.  В этом неоспоримое и главное достоинство этой программы.

Excel, как и Эксл Роуз (Axl Rose), может все.

Примечание: Эксл Роуз - лидер группы Guns'n'Roses

Excel - это главный помощник в начале пути

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

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

Любой начинающий предприниматель обязательно должен хорошо знать Excel (тем более знания ключевых возможностей практически всем известны). Это как гибкая записная книжка, которая может решать 90% потребностей в учете для нового предприятия.

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

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

Наш кейс по создание CRM на базе Excel

Онлайн-аналоги Excel

У MS Excel множество аналогов. Причем, некоторые из них бесплатные (Open Office). А есть такие, которые бесплатные и в облаке (позволяют все данные хранить где-то на внешних серверах и дают возможность групповой работы над документом, например Google Disk).

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

Проблемы Excel при росте данных

Казалось бы, как здорово. Можно бесплатно все сделать, быстренько настроить под себя и работай себе на здоровье.

Но со временем начинают "всплывать" некоторые нюансы. Это не связано с качеством Excel или его какой-то недоработкой. Excel - это супер универсальный инструмент, в этом его сила. И в этом его слабость для решения конкретных задачи.

Но со временем начинают проявляться недостатки. Когда данных становится больше, вы уже не можете быстро вручную проверить корректность данных.

Также у вас нет каких-то специальных средств проверки целостности данных. Если кто-то случайно удалил часть данных в таблице, либо занес их в некорректном формате, скорее всего вы узнаете об этом нескоро.

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

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

Сложность контроля - одна из главных проблем работы с Excel

От этого страдает качество данных в системе, сбоит аналитика. И в итоге приходится всегда с оговоркой опираться на данные в таблицах (другими словами, вы этим данным не доверяете и всегда держите в уме то, что данные могут быть нецелостные).

Допустим, как-то нам удалось все это решить. Но вот приходит продажник-негодяй и просто копирует все файлы, к которым он имеет доступ. Все данные в итоге он может унести с собой, ведь у него полный доступ к файлу, с которым он работает. Это реальная проблема для тех, у кого данные представляют реальную ценность для конкурентов.

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

Если вы прошли через весь этот ад и смогли все же все преодолеть, может возникнуть проблема, которую просто никак не решить - производительность. Дело в том, что Excel не предназначен для супербольших таблиц (50-100 тыс), при большом объеме данных он будет тормозить. Любое открытие файла будет небыстрым, люди будут ждать, нервничать, что снижает их эффективность.

Плюсы и минусы Excel для бизнеса

Краткий итог по достоинствам и недостаткам Excel для ведения учета.

Преимущества Excel для бизнеса
  1. Гибкость структуры данных, возможность модификации на лету.
  2. Скорость начала работы. Создал таблицы, и можно начинать работать с ними сразу, по ходу дорабатывая структуру данных.
  3. Не надо никого учить, как работать с Excel. Excel знают все (если не знают, то странно, что вы работаете с ними). Достаточно описать, что куда вносить и можно начинать работать в нем.  
  4. Нет инфраструктуры, бесплатный (если это Google Disk) - просто заводим аккаунт и начинаем работать. Не нужно ничего устанавливать, не нужно делать бекапы данных, не нужны никакие начальные установки и настройки.
Недостатки Excel
  1. Контроль ввода. Очень легко внести данные не в том формате, и от этого рушатся вычисления.
  2. Человеческий фактор. Человек может случайно выделить что-то не то в документе и нажать DEL. Либо специально навредить. И сложно отследить такие моменты.
  3. Сложность разграничения доступа. Человек имеет доступ ко всей таблице. Он может запросто ее скачать себе и использовать как угодно. Вполне возможно, какие-то столбцы вы хотели бы скрыть от некоторых сотрудников, работающих в системе. 
  4. Много лишнего в интерфейсе. Пользователю не нужно видеть часть данных для работы, но т.к. это таблица, то он видит ее всю и в ней пытается разобраться.
  5. Легко сломать данные и сложно поддерживать целостность. Если требуется одну информацию вводить в нескольких местах, то человек может просто забыть это сделать, либо сделать неточно и данные будут расходиться. Это плохо. Данные в системе будут нецелостные.
  6. Сложность обработки очень больших массивов. Если данных очень много (десятки тысяч строк), то таблица будет подтормаживать, что скажется на эффективности работы всех сотрудников.
  7. Нет логирования: кто что делал в файлах. Если где-то в данных ошибка, очень сложно восстановить, чьи действия стали ее причиной. Проблема здесь также в том, что абсолютно любой человек, имеющий доступ к файлу мог внести эти недостоверные данные.
  8. Нет бизнес-логики по изменению статусов заявок. Если у вас должна быть некая сложная логика смены статусов у сущностей (например Заказ), то в Excel проблематично будет ее воспроизвести. Сложно будет создать "лыжню" для сотрудника, когда он не может "ни вправо, ни влево" с нее свернуть.
  9. Нет уведомлений. Нет возможности оповестить людей в Телеграм, на почту или через СМС об определенных событиях, которые "произошли" в файле (например, кто-то добавил в файл новый заказ, или по такому-то клиенту не было движений уже более 10 дней). 
  10. Нельзя интегрироваться с внешними системами. Это могут быть те же уведомления, например, в телеграм. Это может быть ослеживание трек-номеров посылок, получение курса валют и т.д.
  11. Нет сложных вариантов фильтрации (либо их проблематично реализовать). Хочется внести особые способы фильтрации данных, но в Excel это не всегда возможно (например, вывести список клиентов, которые покупали товары такой-то категории за такой-то период и вывести некую агрегирующую информацию по ним).

Как в идеале может выглядеть решение или есть ли альтернатива Excel?

Решение должно обладать гибкостью Excel, но при этом по максимуму нивелировать его недостатки.

Решение этой проблемы видится следующим:

  1. Все данные хранятся в единой реляционной базе данных, например, SQL Server.
  2. У каждого пользователя свой веб-интерфейс только с теми функциями и возможностями, которые ему необходимы для работы. Это личный кабинет пользователя в системе.
  3. Основа интерфейса - это дашборды, формы и таблицы. Дашборды дают общее понимание по текущему положению. Таблицы позволяют быстро находить нужные данные через фильтры. Формы позволяют вводить данные в максимально простом виде для оператора.
  4. Доступ к личному кабинету есть с ПК, планшета, телефона. Ключевые функции доступны в любой момент времени (дома, в дороге, в офисе).
  5. Пользователь получает уведомления по важнейшим событиям в системе в виде пуш-уведомлений на телефон, либо в самой системе (внутренняя система уведомлений).
  6. Система имеет возможность интеграции с другими внешними системами, чтобы уменьшить ручной труд, ускорить операции и иметь возможность более плотно работать с партнерами. Для отдельных видов контрагентов можно создавать свои специальные личные кабинеты с ограниченными функциями. 

Своя система учета - это стратегический шаг вперед

Как это выглядит в реальности - демо личного кабинета на сайте

Далее я покажу на нашем примере, как это может работать. Демо находится здесь - https://demo.web-automation.ru Рассмотрим на примере демо по учету финансов.

Пользователь заходит в свой кабинет.

И попадает на дашборд, на котором он видит ключевые цифры, а также графики и сводные таблицы.

Далее он может внести некую информацию в систему, для этого он выбирает с любой страницы Быстрое действие в верхней панели

Если ему необходимо найти нужные данные, то он идет в соответствующую таблицу, использует фильтр и переходит на нужную страницу.

Форма редактирования контрагента:

Нам пришло уведомление, надо его обработать и отреагировать на него

Допустим, нам надо что-то срочно внести в систему с телефона

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

Все данные хранятся в базе данных SQL Server. Доступы раздаются в соответствии с заложенной бизнес-логикой.

Главная особенность системы - все формы, таблицы и страницы можно менять по структуре. Можно менять бизнес-логику и внедрять свои правила обработки данных.

Есть набор неких готовых решений (CRM, Поручения, Проекты, Площадка, Склад и т.д). Их можно посмотреть на demo.web-automation.ru. Их можно взять за основу, а затем доработать под себя.

Разработка идет рука об руку с использованием.

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

Именно так мы и развиваем систему, мы ее используем и адаптируем по ходу использования. Прямо как в Excel.

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

Чтобы поддерживать нашу программу, необходимо знать две распространенные технологии:

  • Язык извлечения данных T-SQL. Вся бизнес-логика строится на SQL.
  • Bootstrap - адаптивная верстка для создания интерфейса.

Если вы владеете этими двумя технологиями, вам по силам самостоятельно поддерживать систему.

Техническая документация по Falcon Space

Все возможности веб-платформы

Платформа помогает адаптировать программу под бизнес-требования, а не наоборот

Процесс перехода от Excel к учетной системе

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

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

Если говорить о последовательности действий для перехода, то можно выделить следующие пункты:

  1. Определение границ первой версии системы. Решите, что должно быть в первой версии программы. Чем меньше будет объем, тем быстрее это можно внедрить, и тем меньше будет бюджет на первую версию. Все второстепенные хотелки можно будет внедрить на последующих этапах, когда основная часть уже будет работать.
  2. Определите объекты учета. Заказы, товары, атрибуты товаров, категории, покупатели. Определите характеристики сущностей. Это будет основой для формирования структуры базы данных. Необязательно сразу пытаться в деталях все определить, делайте это итеративно, по мере углубления в проект и выявления новых нюансов бизнес-логики.
  3. Определите роли в системе. Роль - это набор возможностей и прав в системе. Администратор, Продавец, Начальник продаж, Начальник ПТО и т.д. Один человек в системе может обладать несколькими ролями, в этом случае интерфейс его кабинета будет иметь возможности этих ролей.
  4. Для каждой роли определите основные возможности. Нет смысла сразу детально определять все-все возможности для каждой роли. Сначала достаточно для каждой роли определить ключевые 3-5 возможностей и от этого отталкиваться при определении структуры страниц
  5. Определите структуру страниц каждого кабинета и опишите кратко каждую страницу. Это элемент технического задания. Чем точнее вы можете описать страницы, тем точнее можно составить представление о бюджете и сроках на реализацию кабинетов. Описание лучше делать с учетом структуры данных, т.е. не просто вывести данные заказчика, а вывести на чтение такие-то поля заказчика и на редактирование такие-то поля. Для большей наглядности можно делать макеты страниц - схематичное отображение, что где находится на странице (для этого можно использовать Excel или Powerpoint, либо их Гугл аналоги)
  6. Следующий этап - реализация. Сначала создается база данных, создаются кабинеты, и реализуется бизнес-логика каждой страниц. В нашем случае, это создание таблиц, форм, диаграмм и написание кода на SQL в виде хранимых процедур.
  7. Ввод в эксплуатацию предполагает ряд мер: чистка от тестовых данных, перенос на сервер или хостинг клиента, организация резервного копирования данных, заливка в базу начальных справочных данных и др.
  8. Далее идет процесс адаптации в системе. Пользователи должны понять, как в системе работать, и принять новый способ работы. Необходимо на практике доказать пользователям системы, что в ней удобнее работать, чем при прежнем способе работы в Excel. Если этого не будет, то сотрудники по-тихому будут саботировать работу в системе и делать ключевые моменты по старинке. Система должна реально упрощать их работу, а не усложнять. Чем проще начальный интерфейс будет у программы, тем больше шансов, что пользователи ее примут.
  9. Появляются новые идеи как упростить, ускорить работу, как сделать удобнее интерфейс. Все эти пожелания необходимо реализовывать в системе с параллельным использованием. Также приходит время автоматизировать и другие второстепенные процессы, которые пока ведутся в Excel. Создается новый этап разработки и внедряются новые элементы учета. Система, которая не развивается, в итоге постепенно перестает отвечать меняющимся требованиям бизнеса. Важно успевать адаптировать систему под текущие реалии вашего предприятия.

Трудности перехода к своей системе и подводные камни при внедрении программы

Не все так просто, и вы можете встретиться со сложностями, о которых не могли предположить в начале проекта.

Сложность адаптации системы под себя

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

Непривычно для сотрудников

Люди привыкают к некоторым способам работы, даже если они не очень эффективны. Важно максимально снизить порог понимания системы. Чем проще в ней работать, тем проще будет убедить пользователя ее использовать. Если для использования вашей системы оператору необходимо знать азбуку Морзе, ваша миссия по внедрению новой системы невыполнима.

Все может затянуться, долгие сроки внедрения

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

Никто не знает как должно быть - двигаться только опытным путем

Если вы думаете, что специалисты знают все, и надеетесь только на их опыт, то рано или поздно вы разочаруетесь в них.

Никто не знает, как должно быть правильно. Вы лучше любого разработчика или консультанта знаете свой бизнес и его потребности. Разработчики/консультанты/внедренцы могут предложить некие стандартные решения, но не факт, что они будут оптимальными для вас. Идите от простого, внедряйте сначала базовые вещи, получайте обратную связь, улучшайте - и так по кругу. Таким образом, вы придете к своему правильному решению.

Зависимость от разработчиков

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

Мы учли этот момент в нашей системе Falcon Space и используем только две популярные технологии - SQL Server, Bootstrap. Чем больше технологий надо знать для поддержки решения, тем сложнее найти подходящего специалиста на сопровождение такого решения.

Читайте статью Как выбрать программиста на проект.

Плюсы/минусы внедрения системы личных кабинетов в виде веб-приложения    

Напоследок стоит кратко рассмотреть достоинства и недостатки подобного подхода к созданию своей учетной системы.

Ключевые плюсы для бизнеса от внедрения своей учетной системы

Много рутины за 1 клик

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

Быстрый доступ к информации в нужный момент

С телефона в поезде (только бы был интернет). Быстрый гибкий поиск нужной информации и реакция на нее через операции и заполнения форм. Подобная оперативность позволяет уменьшить простои в процессах и уменьшить необходимость у кого-то что-то выяснять по телефону.           

Контроль и логирование

Каждый шаг может логироваться, все ходы записаны. Это позволяет восстановить картинку действий за определенный отрезок времени.           

Только нужные функции и интерфейсе

Если мне (оператору) нужно вносить просто платежки, то у меня в кабинете будет только одна страница с формой добавления платежки с проверкой корректности занесения. Ничего лишнего.           

Борьба с хрупкостью данных

Защита от неверного ввода и сложные проверки. Все данные в систему попадают в систему через сохранения форм. Данные в этих формах проверяются не только на корректность типов данных (правильные даты, числа), но и с дополнительной проверкой данных (бывает ли у человека температура в 32 градуса?).           

Уведомления

Получение оперативной информации в нужный момент времени с возможностью реакции на них через систему.           

Метрики и аналитика в системе

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

Интеграция с другими системами

В некоторых случаях просто необходимо плотно интегрироваться по API (программному интерфейсу) со своими контрагентами или внешними поставщиками данных (например, Почта РФ).

Как устроен универсальный API в платформе Falcon Space

Работа с мобильных устройств

Мобильный телефон всегда с нами, даже когда спим. Когда мы встаем, сначала мы берем наш телефон и проверяем, что там. Мы настолько привыкли к своему прямоугольному другу, что чувствуем неуверенность даже при краткосрочном расставании с ним. Работа с телефона - это новые реалии бизнеса. Excel пока очень сложно адаптируется под мобильные (Google Spreadsheet имеет мобильное приложение для редактирования таблиц, но это далеко от идеала удобства).                       

Кабинет для внешних контрагентов

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

Минусы владения своей системы

Дополнительные траты на поддержку системы

Развитие системы подразумевает подключение специалистов. Их работа требует затрат. В нашей системе мы исходим из того, что конечный заказчик никогда не будет сам настраивать в системе ключевые элементы. Именно поэтому мы не создаем для настроек сложные интерфейсы с drag n drop переносами элементов и конструкторы форм.

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

Дополнительные объекты инфраструктуры

Это база данных, сервер или хостинг, домен, SSL для домена, хранилище бекапов. Все это не так сложно и дорого, но все же также требует обслуживания. В случае с Excel - это просто файл программы, что конечно гораздо проще и понятнее для обычного пользователя. Обслуживанием инфраструктуры приложения должна заниматься также команда поддержки/разработки/сопровождения.  В простом случае это один человек с базовыми навыками системного администрирования.          

Где-то будет потеря гибкости по сравнению с Excel

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

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

В Falcon Space все это делается "не отходя от кассы" - прямо из кабинета администратора-разработчика системы. Но все же это требует больше трудозатрат по сравнению с Excel, а также технического специалиста по системе. 

Заключение

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

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

Демо решения с личными кабинетами 

Если вас интересует тема создания CRM, посмотрите наш кейс по созданию CRM для наших нужд. 

Статья про создание личного кабинета клиента на сайте

Статья про создание системы личных кабинетов для сотрудников

‎App Store: Microsoft Excel

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

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

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

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

Анализ данных
• Анализируйте данные с помощью диаграмм и графиков.
• Добавляйте и изменяйте подписи к диаграммам, чтобы выделять важные аналитические сведения.
• Используйте круговые диаграммы для создания графиков на основе данных.

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

Рисование и создание рукописных заметок
• Используйте возможности рисования Excel для создания заметок, фигур математических формул, а также выделения фрагментов листа на устройствах с сенсорным вводом.

Удобный контроль общего доступа
• Делитесь файлами в несколько касаний, чтобы другие пользователи могли изменять, просматривать книги и комментировать их.
• Скопируйте содержимое книги в сообщение почты с сохранением форматирования, вложите файл или отправьте ссылку на книгу для общего доступа.

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

Чтобы создавать и изменять документы, войдите с помощью бесплатной учетной записи Майкрософт на устройстве с диагональю экрана не более 10,1 дюйма.
Чтобы использовать все функции Microsoft Office на телефоне, планшете, ПК с Windows или компьютере Mac, приобретите соответствующую подписку на Microsoft 365.

Если вы приобрели месячную подписку на Microsoft 365 в приложении, плата за нее взимается через учетную запись App Store. Подписка автоматически продлевается в последние 24 часа перед истечением ее срока действия, если вы до этого не отключили эту возможность. Вы можете управлять своими подписками в параметрах учетной записи App Store.

Это приложение предоставляется либо корпорацией Майкрософт, либо сторонним издателем и подпадает под действие отдельного заявления о конфиденциальности и условий использования. Данные, представляемые в ходе использования этого магазина приложений и этого приложения, могут быть доступны корпорации Майкрософт или стороннему издателю приложения (если необходимо) и передаются, хранятся и обрабатываются в США или любой другой стране, где корпорация Майкрософт или издатель приложения и их аффилированные компании или поставщики услуг располагают рабочими мощностями.

См. условия лицензии на использование программного обеспечения Microsoft 365. Соответствующий документ приведен по ссылке "Лицензионное соглашение" в разделе информации. Устанавливая приложение, вы принимаете эти условия и положения.

Программа для склада в Excel

Как оптимизировать складской учет в Excel

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

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

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

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

В программе удобно учитывать скидки. Можно рассчитывать себестоимость услуг: например, доставки. Есть встроенный редактор ценников и этикеток с простым интерфейсом. Можно сделать нужный ценник за пару минут и отправить на массовую печать. Вести базу покупателей и контрагентов в программе тоже удобнее, чем в таблице учета в Excel.

Ее можно интегрировать с другими полезными сервисами, например, с банком, интернет-магазином, сервисом для рассылок. Тогда вы сможете управлять связанными процессами из одного центра.

Попробовать МойСклад

Складской учет в Excel – организация товароучета в Эксель

Соглашение о конфиденциальности

и обработке персональных данных

 

1.Общие положения

 

1.1.Настоящее соглашение о конфиденциальности и обработке персональных данных (далее – Соглашение) принято свободно и своей волей, действует в отношении всей информации, которую ООО «Инсейлс Рус» и/или его аффилированные лица, включая все лица, входящие в одну группу с ООО «Инсейлс Рус» (в том числе ООО «ЕКАМ сервис»), могут получить о Пользователе во время использования им любого из сайтов, сервисов, служб, программ для ЭВМ, продуктов или услуг ООО «Инсейлс Рус» (далее – Сервисы) и в ходе исполнения ООО «Инсейлс Рус» любых соглашений и договоров с Пользователем. Согласие Пользователя с Соглашением, выраженное им в рамках отношений с одним из перечисленных лиц, распространяется на все остальные перечисленные лица.

1.2.Использование Сервисов означает согласие Пользователя с настоящим Соглашением и указанными в нем условиями; в случае несогласия с этими условиями Пользователь должен воздержаться от использования Сервисов.

1.3.Сторонами (далее – «Стороны) настоящего Соглашения являются:

«Инсейлс» – Общество с ограниченной ответственностью «Инсейлс Рус», ОГРН 1117746506514, ИНН 7714843760, КПП  771401001, зарегистрированное по адресу: 125319, г.Москва, ул.Академика Ильюшина, д.4, корп.1, офис 11 (далее - «Инсейлс»), с одной стороны, и

«Пользователь»

либо физическое лицо, обладающее дееспособностью и признаваемое участником гражданских правоотношений в соответствии с законодательством Российской Федерации;

либо юридическое лицо, зарегистрированное в соответствии с законодательством государства, резидентом которого является такое лицо;

либо индивидуальный предприниматель, зарегистрированный в соответствии с законодательством государства, резидентом которого является такое лицо;

которое приняло условия настоящего Соглашения.

1.4.Для целей настоящего Соглашения Стороны определили, что конфиденциальная информация – это сведения любого характера (производственные, технические, экономические, организационные и другие), в том числе о результатах интеллектуальной деятельности, а также сведения о способах осуществления профессиональной деятельности (включая, но не ограничиваясь: информацию о продукции, работах и услугах; сведения о технологиях и научно-исследовательских работах; данные о технических системах и оборудовании, включая элементы программного обеспечения; деловые прогнозы и сведения о предполагаемых покупках; требования и спецификации конкретных партнеров и потенциальных партнеров; информацию, относящуюся к интеллектуальной собственности, а также планы и технологии, относящиеся ко всему перечисленному выше), сообщаемые одной стороной другой стороне в письменной и/или электронной форме, явно обозначенные Стороной как ее конфиденциальная информация.

1.5.Целью настоящего Соглашения является защита конфиденциальной информации, которой Стороны будут обмениваться в ходе переговоров, заключения договоров и исполнения обязательств, а равно любого иного взаимодействия (включая, но не ограничиваясь, консультирование, запрос и предоставление информации, и выполнение иных поручений).

 

2.Обязанности Сторон

 

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

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

2.3.Обязательство по сохранению в тайне конфиденциальной информации действительно в пределах срока действия настоящего Соглашения, лицензионного договора на программы для ЭВМ от 01.12.2016г., договора присоединения к лицензионному договору на программы для ЭВМ, агентских и иных договоров и в течение пяти лет после прекращения их действия, если Сторонами отдельно не будет оговорено иное.

2.4.Не будут считаться нарушением настоящего Соглашения следующие случаи:

(а)если предоставленная информация стала общедоступной без нарушения обязательств одной из Сторон; 

(б)если предоставленная информация стала известна Стороне в результате ее собственных исследований, систематических наблюдений или иной деятельности, осуществленной без использования конфиденциальной информации, полученной от другой Стороны;

(в)если предоставленная информация правомерно получена от третьей стороны без обязательства о сохранении ее в тайне до ее предоставления одной из Сторон; 

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

(д)если информация предоставлена третьему лицу с согласия той Стороны, информация о которой передается.

2.5.Инсейлс не проверяет достоверность информации, предоставляемой Пользователем, и не имеет возможности оценивать его дееспособность.

2.6.Информация, которую Пользователь предоставляет Инсейлс при регистрации в Сервисах, не является персональными данными, как они определены в Федеральном законе РФ №152-ФЗ от 27.07.2006г. «О персональных данных».

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

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

Пользователь имеет право отказаться от получения вышеуказанной информации, сообщив об этом письменно на адрес электронной почты Инсейлс - [email protected]

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

2.10.Пользователь осознает, что оборудование и программное обеспечение, используемые им для посещения сайтов в сети интернет могут обладать функцией запрещения операций с файлами cookie (для любых сайтов или для определенных сайтов), а также удаления ранее полученных файлов cookie.

Инсейлс вправе установить, что предоставление определенного Сервиса возможно лишь при условии, что прием и получение файлов cookie разрешены Пользователем.

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

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

 

3.Ответственность Сторон

 

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

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

 

4.Иные положения

 

4.1.Все уведомления, запросы, требования и иная корреспонденция в рамках настоящего Соглашения, в том числе включающие конфиденциальную информацию, должны оформляться в письменной форме и вручаться лично или через курьера, или направляться по электронной почте адресам, указанным в лицензионном договоре на программы для ЭВМ от 01.12.2016г., договоре присоединения к лицензионному договору на программы для ЭВМ и в настоящем Соглашении или другим адресам, которые могут быть в дальнейшем письменно указаны Стороной.

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

4.3.К настоящему Соглашению и отношениям между Пользователем и Инсейлс, возникающим в связи с применением Соглашения, подлежит применению право Российской Федерации.

4.3.Все предложения или вопросы по поводу настоящего Соглашения Пользователь вправе направлять в Службу поддержки пользователей Инсейлс www.ekam.ru либо по почтовому адресу: 107078, г. Москва, ул. Новорязанская, 18, стр.11-12 БЦ «Stendhal» ООО «Инсейлс Рус».

 

Дата публикации: 01.12.2016г.

 

Полное наименование на русском языке:

Общество с ограниченной ответственностью «Инсейлс Рус»

 

Сокращенное наименование на русском языке:

ООО «Инсейлс Рус»

 

Наименование на английском языке:

InSales Rus Limited Liability Company (InSales Rus LLC)

 

Юридический адрес:

125319, г. Москва, ул. Академика Ильюшина, д. 4, корп.1, офис 11

 

Почтовый адрес:

107078, г. Москва, ул. Новорязанская, 18, стр.11-12, БЦ «Stendhal»

ИНН: 7714843760 КПП: 771401001

 

Банковские реквизиты:

Р/с 40702810600001004854

 

В ИНГ БАНК (ЕВРАЗИЯ) АО, г.Москва,
к/с 30101810500000000222, БИК 044525222

Электронная почта: [email protected]

Контактный телефон: +7(495)133-20-43

Создание расчетных программ в Excel

1. Создаем сам алгорим вычисления и необходимые формулы в Excel
2. Проверяем работу программы - т.е. выполняем тестирование программы в Exсel
3. Подбираем картинку для фона - редактируем ее в Photoshop
4. Вставляем картинку фона в Excel
5. Тестируем и подправляем полученную программу - если в этом есть необходимость

Итак начинаем:

1. Создаем сам алгорим вычисления и необходимые формулы в Exсel

1.1 Создадим программу для вычисления необходимого количества штучных материалов - для покрытия кровли
Исходные данные:
- обычно известно размер здания - по крайней мере, его можно измерить
- форма кровли выбирается исходя из визуальных предпочтений
- материал кровли выбирается исходя из имеющийся информации и толщины кошелька
- выбирается окончательный вид кровли - односкатная, двухскатная, четырехскатная и т.д.-
в любом случае кровля состоит из участков имеющих форму: треугольник, квадрат, параллелограмм
- количество материала необходимое для покрытия отдельного участка кровли зависит от:
размер отдельного участка в плане здания;
геометрический вид участка кровли;
уклон кровли;
размер штучного материала;
площадь эффективного перекрытия единицы штучного материала;
- суммарная площадь всех участков кровли и общая потребность в материалах верхнего покрытия с учетом отходов.
1.2 Предположим размер здания в плане 12 х 9 м (исходя из модуля 3 м)
1.3 Форма кровли - четырехскатная (вальмовая) - т.е. все четыре ската имеют наклон щипцы расположены в 4,5 м от торцов здания, карнизные свесы 250 мм, выход крайнего листа за лобовую доску 150мм, кровля без мансардная, высота от конька до чердачного перекрытия 4,5 м
1.4 Материал кровли - волнистые асбестоцементные листы - размеров 1750 х 1125, площадь эффективного перекрытия 1,5 м2
смежное перекрытие по длине листа 250 мм (сверху и по низу листа) и боковое перекрытие 125 мм ( с двух сторон)
1.5 Уклон скатов кровли определим расчетно - исходя из проекции скатов на чердачное перекрытие
Для того чтобы немного усложнить задачу - предположим что конек кровли смещен в сторону главного фасада -
то есть находится на расстоянии 3+6 (если смотреть в плане)
1.6 Создаем формулы:
A - ширина здания в плане
L - длина здания в плане
H - заданная высота кровли
C - длина ската
K - величина карнизных свесов
S - площадь скатов здания
B1 - расстояние от стены до конька по скату 1 (проекция)
B2 - расстояние от стены до конька по скату 2 (проекция)
F1 - расстояние от стены до конька по боковому скату 1 (проекция)
F2 - расстояние от стены до конька по боковому скату 2 (проекция)
1.7 Выводим все это на листе - вводим формулы.
2. Проверяем все работает
3. Через поиск Яндекса находим нужную по теме картинку - вставляем ее в Photoshop на новый слой - прозрачность слоя задаем от 10 до 20%
сохраняем картинку на жесткий диск компьютера.
4. В Excel, через "Разметка страницы" -> "Вставить фон" = картинку вставляем на выбранный лист с программой
5. Проверяем и при необходимости правим созданную программу.
6. По образу и подобию - есть возможность создавать не сложные программы для повседневных вычислений
7. Есть возможность немного усложнить программу - тем самым расширив функционал. Делается это через создание полей с выпадающими списками - в них будет возможность выбрать заранее заданные значения. И еще как вариант - можно задать выбор данных, через применение функции "ЕСЛИ"
8. Программу лучше сохранить в двух вариантах - один "только для чтения" и второй "рабочий вариант" - так больше вероятность, что вы ее
не измените до не рабочего состояния, после первого же запуска. Как сделать только для чтения? В проводнике на файле программы - кликаем правой кнопкой мыши и в контекстном меню выбираем "Свойства". В атрибутах файла ставим галочку в поле "Только чтение"
и нажимаем "Применить". Работать лучше на копии - но там глочку только чтение необходимо снимать.
9. Для работы - необходимо подставить свои данные в не выделенные поля и получить результат.

Сама программа - находится здесь.

Добавить комментарий

История Excel - История - Информация о Excel - Статьи об Excel

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

Сначала была VisiCalc


В конце 70-х годов, когда люди еще не знали, что такое персональный компьютер в офисе, Ден Бриклин (Dan Bricklin) и Боб Фрэнкстон (Bob Frankston) создали VisiCalc — первую в мире  электронную таблицу. Программа VisiCalc была написана для компьютеров типа Apple П, которые по сравнению с современными машинами кажутся просто игрушечными. Очень скоро VisiCalc стала известной и особо дальновидные компании приобретали компьютеры Apple П с единственной  целью — планировать бюджет с помощью программы VisiCalc. Поэтому многие считают, что своим успехом в то время компьютеры Apple П в значительной мере обязаны VisiCalc.

Потом появился Lotus 1-2-3

В 1982 году компания ЮМ громко заявила о себе, способствуя в дальнейшем утверждению персональных компьютеров на мировом рынке. Не тратя времени даром, VisiCorp адаптировала VisiCalc к новой аппаратной среде. Стремясь превзойти успех VisiCalc, небольшая группа программистов Кембриджа (штат Массачусетс) решила создать более совершенную программу управления электронными таблицами. Объединившись в небольшую компанию во главе с Митчем Капором (Mitch Kapor) и Джонатаном Заксом (Jonathon Sachs), эти энтузиасты создали новый программный продукт. Кроме того, впервые в истории создания программных средств была
проведена широкомасштабная рекламная компания по продвижению нового продукта на рынок. Lotus, появившийся в 1983 году, пользовался неизменным успехом в течение многих лет.  Несмотря на высокую цену — $495 (да, в те времена люди действительно платили за программу такие деньги), новая программа быстро превзошла VisiCalc по объему продаж. Долгое время Lotus имел одни из самых высоких показателей торговой активности. Возможно, Lotus 1-2-3 — самая популярная прикладная программа из всех существующих.

Программные продукты компании Microsoft

Не многие знают о том, что компания Microsoft выпустила свой первый процессор электронных таблиц в начале 80-х. Первый программный продукт такого типа — MultiPlan — вышел в 1982 году. MultiPlan, созданный для компьютеров с операционной системой СР/М, был в последствии адаптирован и для таких платформ, как Apple П, Apple Ш, XENIX и MS- DOS. При создании программы MultiPlan не были соблюдены общепринятые стандарты пользовательского интерфейса. Кроме того, научиться работать с MultiPlan было нелегко, да и пользоваться неудобно. Поэтому, программа не стала популярной в Соединенных Штатах. И не удивительно, что Lotus 1-2-3 оставил своего конкурента MultiPlan далеко позади. В некоторой степени MultiPlan можно считать предшественником Excel. Выпущенный для Macintosh в 1985 году, Excel, подобно другим приложениям Маc, имел графический интерфейс (в отличие от текстового MultiPlan). Первая версия Excel для Windows (названная Excel 2, поскольку первая версия была разработана для Macintosh) вышла в свет в ноябре 1987 года. Excel получил широкое применение не сразу. Однако популярность новой программы постепенно возрастала с распространением Windows. Вскоре появилась версия Lotus 1-2-3 для Windows. Еще одним  конкурентом для Excel стал Quattro Pro — программа, созданная компанией Borland International, которая была продана Novell, а затем перешла в собственность Corel (теперешнего владельца Quattro Pro).

 
Версии Excel

Вкратце об основных версиях Excel для Windows.

Excel 2

Исходная версия Excel для Windows — Excel 2 — появилась в конце 1987 года. Эта версия программы носила название Excel 2, поскольку первая версия была разработана для Macintosh. В то время Windows еще не была широко распространена. Поэтому к Excel прилагалась оперативная версия Windows — операционная система, обладавшая функциями, достаточными для работы в Excel. По сегодняшним стандартам эта версия Excel кажется недоработанной.

Excel 3

В 1990 году компания Microsoft выпустила Excel 3 для Windows. Эта версия обладала  более совершенными инструментами и внешним видом. В Excel 3 появились панели  
инструментов, средства рисования, режим структуры рабочей книги, надстройки, трехмерные  диаграммы, функция совместного редактирования документов и многое другое.

Excel 4

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

Excel 5

В начале 1994 года на рынке появилась Excel 5. В этой версии было огромное количество новых средств, включая многолистные книги и новый макроязык Visual Basic for Application (VBA). Как и предшествующая версия, Excel 5 получала наилучшие отзывы во всех отраслевых изданиях.

Excel 95

Excel 95 (также известная как Excel 7) выпущена летом 1995 года. Внешне эта версия напоминала предыдущую (в Excel 95 появилось лишь несколько новых средств). Однако появление этой версии все же имело большое значение, поскольку в Excel 95 впервые был использован более современный 32-битовый код. В Excel 95 и Excel 5 используется один и тот же формат файлов.

Excel 97

Excel 97 (также известная как Excel 8) значительно усовершенствована по сравнению с предыдущими версиями. Изменился внешний вид панелей инструментов и меню, справочная система теперь организована на качественно новом уровне, количество строк рабочей книги было увеличено в четыре раза. Среда программирования Excel (VBA) значительно усовершенствована. Кроме того, справка по VBA для русской локали была на русском языке. В Excel 97 появился новый формат файлов, а так же увеличен рабочий лист до 65536 строк и 256 столбцов.

Excel 2000

Excel 2000 (также известная как Excel 9) появилась в июне 1999 года. Эта версия  характеризовалась незначительным расширением возможностей. Немаловажным  
преимуществом новой версии стала возможность использования HTML в качестве  универсального формата файлов. В Excel 2000 конечно же поддерживался и стандартный двоичный формат файлов, совместимый с Excel 97.

Excel 2002

— это на самом деле Excel 10. Вы, конечно, думаете, что это — десятая версия программы. Подумайте хорошенько. Microsoft— очень успешная компания, однако у них
всегда были проблемы с нумерацией программных продуктов. В действительности, Excel 2002 — восьмая версия Excel для Windows.

 

Эту версию программы Excel 2002 выпустили в июне 2001 года. Она составляет часть пакета Microsoft Office XP. В этой версии присутствует несколько новых функций, предназначенных прежде всего для начинающих пользователей Excel. Основным нововведением Excel 2002 является возможность сохранения результатов работы в случае аварийного завершения программы и восстановления файлов поврежденной рабочей книги, над которой вы когда-то работали. В этой версии Excel появляется также фоновая проверка формул, а также новые инструментальные средства отладки. Многие из этих версий Excel имели несколько выпусков. Например, компания Microsoft создала два сервисных пакета для Excel 97 (SR-1 и SR-2). Эти выпуски помогли решить многие проблемы, возникшие при эксплуатации рассматриваемого приложения.

Excel 2003

11-ая версия.

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

Excel 2007

Версия 12.

Эта версия вышла в продажу в июле 2006-го года. Релиз отличался от уже привычного нам интерфейса Excel радикально. Появилась лента (Ribbon) и панель быстрого доступа. Кроме того функционал Excel расширился на несколько новых функций, таких как СУММЕСЛИМН(). Революционным так же явилось решение разработчиков увеличить рабочий лист до 1 048 576 строк и 16 384 столбцов, а так же применение новых (четырёхбуквенных) обозначений расширения файлов.

 


Excel 2010

Суеверные руководители MS решили не присваивать 13-й номер очередной версии, а сразу перепрыгнули на 14-й. В октябре 2009-го года началось бесплатное распространение бета версий очередного релиза. Из интересных нововведений это Sparkliness (микрографики в ячейке), Slies (срезы сводной таблицы) и надстройка PowerPivot, для работы с 100 000 000-и строк.

Excel 2013

Версия 15.

Тестовая версия программы была презентована 16-го июля 2012-го года. Лента и панель быстрого доступа были оформлены полностью по новому (Метро-интерфейс). Кроме того, функционал Excel расширился на несколько новых функций, таких как ЕФОРМУЛА(), Ф.ТЕКСТ() и ЛИСТ().

 

Программирование в Excel для начинающих

Программирование в Excel проще, чем вы думаете. Редактор VBA и встроенные функции программирования в Excel упрощают создание собственных подпрограмм и программ. Из этого туториала Вы узнаете, как создать собственную форму ввода инвентаря, чтобы пользователь мог добавлять акции на рабочий лист. Это руководство требует базовых знаний Excel. Чтобы получить отличное представление о Excel, запишитесь на курс Основы Microsoft Excel 2013 прямо сейчас. Этот курс содержит уроки, которые научат вас определять части рабочего листа.Вы узнаете, как выбирать ячейки и вводить данные. Курс покажет вам, как изменить ширину столбцов и высоту строк. Вы научитесь работать с различными элементами рабочего листа и научитесь работать с диаграммами.

Начнем с создания кнопки для запуска формы.

Программирование в Excel - создание командной кнопки

Командные кнопки - отличный способ запускать программы, которые вы создаете для своих таблиц Excel. Они также являются отличным способом запустить редактор VBA.Чтобы создать командную кнопку, щелкните вкладку «Разработчик» на главной ленте Excel, выберите «Вставить» и выберите «Командная кнопка» под элементами управления ActiveX.

Перетащите кнопку Command, используя ручки, чтобы изменить размер кнопки. Когда вас устраивают размер и форма, убедитесь, что вы нажали «Режим дизайна», а затем дважды щелкните кнопку, чтобы запустить панель редактора VBA в Excel.

Создание формы ввода запасов

Мы собираемся создать форму ввода акций для нашего рабочего листа.Чтобы создать новую форму, выберите «Вставить», а затем выберите «UserForm», чтобы вставить новую форму пользователя:

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

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

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

Давайте добавим некоторые элементы управления и элементы в нашу стандартную форму.

Добавьте поля ввода в форму акции

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

Чтобы создать поле ввода для даты, вставьте текстовое поле и назовите его «newDate». Вставьте метку для текстового поля и измените свойство заголовка метки на date:

Создайте поле со списком для элемента, который нужно ввести. Поле со списком позволит пользователю ввести товар на складе или выбрать товар из раскрывающегося списка. Чтобы создать раскрывающийся список, определите свойство источника строки поля со списком как именованный диапазон из вашего рабочего листа. Для этого учебника мы назвали элементы как Inventory, а затем указали «Inventory» в свойстве источника строки:

Не забудьте назвать поле со списком элементов «newItem.”

Теперь добавьте поле со списком для пользователя. Измените имя пользовательского элемента на «newUser» и используйте «Пользователи» в качестве именованного диапазона, чтобы создать источник строк для пользователей на листе.

Мы добавим элемент текстового поля для количества товаров на складе. Назовите текстовое поле «newTotal».

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

Подпишитесь на обучающий видео по Excel 2013 для чайников, курс Deluxe Edition и развивайте свои навыки от новичка в Excel до мастера по Excel.Курс Excel для чайников - это комплексный курс, предлагающий более 106 уроков и более 19 часов содержания, чтобы убедиться, что вам комфортно работать в Excel. Курс включает уроки по Excel VBA и даже включает шпаргалку по Excel VBA.

Добавьте код

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

Чтобы найти следующую новую строку, используйте следующий код:

newRow = Sheet2.Cells (Rows.Count, 1) .End (xlUp) .Offset (1, 0) .Row

Приведенный выше код находит следующую строку на листе и сохраняет значение в переменной с именем «newRow». Мы собираемся использовать это значение для входа в новый инвентарь, используя следующий код:

Ячейки (newRow, 1) .Value = newDate.Text

Ячейки (newRow, 2) .Value = newUser.Text

Ячейки (newRow, 3) .Value = newItem.Text

Ячейки (newRow, 4).Значение = newTotal.Text

Приведенный выше код вставляет значения из формы в ячейку с адресом (newRow, 1) до (newRow, 4).

Вот как выглядит наш рабочий лист:

Когда пользователь нажимает кнопку «Добавить акции», открывается следующая форма:

Поле со списком работает так:

И когда пользователь нажимает кнопку «Добавить», на лист добавляется новая строка:

Добавьте формы к своим рабочим листам Формы

- отличный способ позволить пользователям вводить данные в рабочие листы.Начните узнавать, как использовать возможности программирования в Excel уже сегодня. Присоединяйтесь к более чем четырем тысячам студентов, которые учатся из новичка в Excel стать профессионалом с помощью Learn Microsoft Excel 2013 - Advanced. Этот курс предлагает более 52 лекций и 12,5 часов материалов, предназначенных для обучения продвинутым концепциям Excel. Курс научит вас работать с датой и временем. Вы узнаете о процентилях, средних значениях и функциях ЛИНЕЙН. Курс покажет вам, как рассчитывать амортизацию и выплаты, и вы научитесь вставлять и форматировать таблицы в своих рабочих книгах.Вас научат работать со спарклайнами, гистограммами и сводными диаграммами.

Последнее обновление страницы: июнь 2014 г.

Рекомендуемые статьи

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Производительность офиса

Udemy Editor

Excel VBA Tutorial - Как написать код в электронной таблице с помощью Visual Basic

Это руководство по написанию кода в электронных таблицах Excel с использованием Visual Basic для приложений (VBA).

Excel - один из самых популярных продуктов Microsoft. В 2016 году генеральный директор Microsoft сказал: «Подумайте о мире без Excel. Для меня это просто невозможно». Что ж, возможно, мир не может мыслить без Excel.

  • В 1996 году было более 30 миллионов пользователей Microsoft Excel (источник).
  • Сегодня примерно 750 миллионов пользователей Microsoft Excel. Это немного больше чем население Европы, и в 25 раз больше пользователей, чем было в 1996 году.

Мы одна большая счастливая семья!

В этом руководстве вы узнаете о VBA и о том, как писать код в электронной таблице Excel с помощью Visual Basic .

Предварительные требования

Вам не нужен опыт программирования, чтобы понять это руководство. Однако вам потребуются:

  • Базовое или промежуточное знакомство с Microsoft Excel
  • Если вы хотите следовать примерам VBA в этой статье, вам понадобится доступ к Microsoft Excel, желательно последней версии (2019), но Excel 2016 и Excel 2013 будет работать нормально.
  • Готовность пробовать новое

Цели обучения

В ходе этой статьи вы узнаете:

  1. Что такое VBA
  2. Зачем использовать VBA
  3. Как настроить в Excel для записи VBA
  4. Как решить некоторые реальные проблемы с помощью VBA

Важные концепции

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

Объекты : Excel является объектно-ориентированным, что означает, что все является объектом - окно Excel, рабочая книга, лист, диаграмма, ячейка. VBA позволяет пользователям манипулировать объектами и выполнять действия с ними в Excel.

Если у вас нет опыта объектно-ориентированного программирования и это совершенно новая концепция, уделите секунду тому, чтобы понять это!

Процедуры : процедура - это фрагмент кода VBA, написанный в редакторе Visual Basic, который выполняет задачу.Иногда это также называют макросом (подробнее о макросах ниже). Существует два типа процедур:

  • Подпрограммы: группа операторов VBA, которая выполняет одно или несколько действий
  • Функции: группа операторов VBA, которая выполняет одно или несколько действий и возвращает одно или несколько значений

Примечание. : у вас могут быть функции, работающие внутри подпрограмм. Увидишь позже.

Макросы : Если вы потратили какое-то время на изучение более сложных функций Excel, вы, вероятно, встречали понятие «макрос.«Пользователи Excel могут записывать макросы, состоящие из пользовательских команд / нажатий клавиш / щелчков, и воспроизводить их с молниеносной скоростью для выполнения повторяющихся задач. Записанные макросы генерируют код VBA, который затем можно изучить. На самом деле довольно интересно записать простой макрос, а затем посмотреть на код VBA.

Имейте в виду, что иногда проще и быстрее записать макрос, чем вручную кодировать процедуру VBA.

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

Visual Basic для приложений - это язык программирования, разработанный Microsoft. Каждая программа в пакете Microsoft Office поставляется с языком VBA без каких-либо дополнительных затрат. VBA позволяет пользователям Microsoft Office создавать небольшие программы, которые работают с программами Microsoft Office.

Думайте о VBA как о печи для пиццы в ресторане.Excel - это ресторан. Кухня оснащена стандартной коммерческой техникой, такой как большие холодильники, плиты и обычные духовки - все это стандартные функции Excel.

А что, если вы хотите приготовить пиццу на дровах ? Невозможно сделать это в стандартной печи для выпечки. VBA - это печь для пиццы.

Ням.

Потому что пицца в дровах самая лучшая!

А если серьезно.

Многие люди проводят много времени в Excel как часть своей работы.Время в Excel тоже движется по-другому. В зависимости от обстоятельств 10 минут в Excel могут показаться вечностью, если вы не можете делать то, что вам нужно, или 10 часов могут пролететь очень быстро, если все идет хорошо. Тогда вы должны спросить себя, , зачем я трачу 10 часов в Excel?

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

Вам следует рассмотреть возможность использования VBA, если вам необходимо:

  • Автоматизировать повторяющиеся задачи
  • Создавать простые способы взаимодействия пользователей с вашими таблицами
  • Манипулировать большими объемами данных

Вкладка разработчика

Чтобы писать VBA, вы должны » Вам нужно будет добавить вкладку «Разработчик» на ленту, чтобы вы увидели такую ​​ленту.

Чтобы добавить вкладку «Разработчик» на ленту:

  1. На вкладке «Файл» выберите «Параметры»> «Настроить ленту».
  2. В разделе «Настроить ленту» и в разделе «Основные вкладки» установите флажок Разработчик.

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

Редактор VBA

Перейдите на вкладку «Разработчик» и нажмите кнопку Visual Basic. Появится новое окно - это редактор Visual Basic. Для использования в этом руководстве вам просто нужно быть знакомым с панелями Project Explorer и Property Properties.

Во-первых, давайте создадим файл, в котором мы сможем поиграть.

  1. Откройте новый файл Excel
  2. Сохраните его как книгу с поддержкой макросов (.xlsm)
  3. Выберите вкладку «Разработчик»
  4. Откройте редактор VBA

Давайте поработаем с несколькими простыми примерами, которые помогут вам писать код в электронной таблице с помощью Visual Basic.

Пример № 1: Отображение сообщения, когда пользователи открывают книгу Excel

В редакторе VBA выберите Вставить -> Новый модуль

Запишите этот код в окно модуля (не вставляйте!):

Sub Auto_Open ( )
MsgBox ("Добро пожаловать в рабочую книгу XYZ.")
Концевой переводник

Сохраните, закройте книгу и снова откройте книгу. Этот диалог должен отобразиться.

Да да!

Как он это делает?

В зависимости от вашего знакомства с программированием у вас могут быть некоторые догадки. Это не очень сложно, но происходит довольно много:

  • Sub (сокращение от «подпрограмма»): помните с самого начала, «группа операторов VBA, которые выполняют одно или несколько действий».
  • Auto_Open: это специальная подпрограмма.Он автоматически запускает ваш код при открытии файла Excel - это событие, запускающее процедуру. Auto_Open будет запускаться только при открытии книги вручную; он не будет запускаться, если книга открывается с помощью кода из другой книги (Workbook_Open сделает это, узнайте больше о разнице между ними).
  • По умолчанию доступ к подпрограмме открыт. Это означает, что любой другой модуль может использовать эту подпрограмму. Все примеры в этом руководстве будут общедоступными подпрограммами. При необходимости вы можете объявить подпрограммы частными.Это может понадобиться в некоторых ситуациях. Узнайте больше о модификаторах доступа к подпрограммам.
  • msgBox: это функция - группа операторов VBA, которая выполняет одно или несколько действий и возвращает значение. Возвращаемое значение - сообщение «Добро пожаловать в книгу XYZ».

Короче говоря, это простая подпрограмма, которая содержит функцию.

Когда я смогу это использовать?

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

  • Проблема: в большинстве случаев, когда пользователи обращаются к файлу, они не могут понять назначение этого файла (почему он существует), как он часто обновляется, кто его поддерживает и как им следует с ним взаимодействовать. У новых сотрудников всегда есть масса вопросов, и вам придется задавать эти вопросы снова и снова.
  • Решение: создайте сообщение пользователя, содержащее краткий ответ на каждый из этих часто задаваемых вопросов.

Примеры из реального мира

  • Используйте функцию MsgBox для отображения сообщения, когда происходит какое-либо событие: пользователь закрывает книгу Excel, пользователь печатает, новый лист добавляется в книгу и т. Д.
  • Используйте функцию MsgBox для отображать сообщение, когда пользователю необходимо выполнить условие перед закрытием книги Excel
  • Используйте функцию InputBox для получения информации от пользователя

Пример № 2: Разрешить пользователю выполнить другую процедуру

В редакторе VBA выберите Вставить -> Новый модуль

Напишите этот код в окне модуля (не вставляйте!):

Sub UserReportQuery ()
Dim UserInput As Long
Dim Answer As Integer
UserInput = vbYesNo
Answer = MsgBox ("Обработка XYZ Report? ", UserInput)
Если Answer = vbYes, то ProcessReport
End Sub

Sub ProcessReport ()
MsgBox ("Спасибо за обработку отчета XYZ.")
Концевой переводник

Сохраните и вернитесь на вкладку «Разработчик» в Excel и выберите опцию «Кнопка». Щелкните ячейку и назначьте ей макрос UserReportQuery.

Теперь нажмите кнопку. Должно появиться следующее сообщение:

Нажмите «Да» или нажмите Enter.

Еще раз, тада!

Обратите внимание, что вторичная подпрограмма ProcessReport может быть или . Я продемонстрирую больше возможностей в примере №3. Но сначала ...

Как он это делает?

Этот пример основан на предыдущем примере и содержит довольно много новых элементов.Давайте рассмотрим новый материал:

  • Dim UserInput As Long: Dim - это сокращение от «измерение» и позволяет объявлять имена переменных. В этом случае UserInput - это имя переменной, а Long - тип данных. На простом английском языке эта строка означает «Вот переменная с именем« UserInput », и это переменная типа Long».
  • Тусклый ответ как целое число: объявляет другую переменную с именем «Ответ» с типом данных Целое число. Узнайте больше о типах данных здесь.
  • UserInput = vbYesNo: присваивает значение переменной.В этом случае vbYesNo, который отображает кнопки Да и Нет. Существует многих типов кнопок , подробнее см. Здесь.
  • Answer = MsgBox («Обработать отчет XYZ?», UserInput): присваивает значение переменной Answer функции MsgBox и переменной UserInput. Да, переменная внутри переменной.
  • If Answer = vbYes Then ProcessReport: это «оператор If», условный оператор, который позволяет нам сказать, истинно ли x, а затем сделать y. В этом случае, если пользователь выбрал «Да», выполните подпрограмму ProcessReport.

Когда я смогу это использовать?

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

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

  • Проблема: каждый раз, когда необходимо создать один из этих отчетов, пользователь открывает файл и меняет форматирование и диаграммы; так далее и так далее.Этот файл интенсивно редактируется не реже 3 раз в неделю, и каждое редактирование занимает не менее 30 минут.
  • Решение: создайте по одной кнопке для каждого типа отчета, которая автоматически переформатирует необходимые компоненты отчетов и генерирует необходимые диаграммы.

Примеры из реального мира

  • Создайте диалоговое окно для пользователя для автоматического заполнения определенной информации на нескольких листах
  • Используйте функцию InputBox для получения информации от пользователя, которая затем заполняется на нескольких листах

Пример № 3: Добавление чисел в диапазон с помощью цикла For-Next

Циклы For очень полезны, если вам нужно выполнять повторяющиеся задачи для определенного диапазона значений - массивов или диапазонов ячеек.Говоря простым языком, цикл гласит: «Для каждого x делайте y».

В редакторе VBA выберите Insert -> New Module

Запишите этот код в окне модуля (не вставляйте!):

Sub LoopExample ()
Dim X As Integer
For X = 1 to 100
Range ("A" и X). Value = X
Next X
End Sub

Сохраните и вернитесь на вкладку «Разработчик» в Excel и нажмите кнопку «Макросы». Запустите макрос LoopExample.

Это должно произойти:

И т.д., до 100-й строки.

Как он это делает?

  • Dim X As Integer: объявляет переменную X как целочисленный тип данных.
  • For X = 1 To 100: это начало цикла For. Проще говоря, он сообщает циклу повторяться до тех пор, пока X = 100. X - это счетчик . Цикл будет выполняться до тех пор, пока X = 100, выполнится последний раз, а затем остановится.
  • Range ("A" & X) .Value = X: объявляет диапазон цикла и то, что поместить в этот диапазон. Поскольку изначально X = 1, первой ячейкой будет A1, после чего цикл поместит X в эту ячейку.
  • Следующий X: это говорит, что цикл запускается снова

Когда я могу это использовать?

Цикл For-Next - одна из самых мощных функций VBA; существует множество возможных вариантов использования. Это более сложный пример, который потребует нескольких уровней логики, но он передает мир возможностей в циклах For-Next.

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

Вам необходимо выяснить, какой должна быть розничная цена каждого продукта. Вы думаете, что это должна быть стоимость ингредиентов плюс 20%, но также на 1,2% ниже средней по рынку, если это возможно. Цикл For-Next позволит вам выполнить такой расчет.

Примеры из реального мира

  • Используйте цикл с вложенным оператором if для добавления определенных значений в отдельный массив, только если они соответствуют определенным условиям
  • Выполните математические вычисления для каждого значения в диапазоне, например.грамм. вычислить дополнительные расходы и добавить их к значению
  • Перебрать каждый символ в строке и извлечь все числа
  • Случайным образом выбрать несколько значений из массива

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

  • Что такое VBA?
  • Как мне настроить, чтобы начать использовать VBA в Excel?
  • Почему и когда вам следует использовать VBA?
  • Какие проблемы я мог бы решить с помощью VBA?

Если у вас есть четкое представление о том, как вы могли бы ответить на эти вопросы, значит, это было успешно.

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

Удачного кодирования!

Учебные ресурсы

Немного обо мне

Я Хлоя Такер, художник и разработчик из Портленда, штат Орегон. Как бывший педагог, я постоянно ищу точки пересечения обучения и преподавания, технологий и искусства. Свяжитесь со мной в Твиттере @_chloetucker и зайдите на мой сайт в chloe.разработчик

Как создать макрос Excel

Создайте макрос Excel, чтобы ускорить выполнение повторяющихся задач!

Макросы - вы, наверное, слышали это слово раньше и, возможно, даже слышали, как люди говорят о том, какие они замечательные. Но что это за ажиотаж?

Когда дело доходит до работы с электронными таблицами в Excel 2013, некоторые процессы могут быть повторяющимися (и, смею сказать, скучными). Один из примеров - форматирование отчета. Хотя редактирование стилей текста и корректировка ячеек может показаться рутинной задачей, представление ваших данных очень важно для тех, кто позже получит смысл из отчета.Но здесь вам могут помочь макросы: вы можете создать макрос Excel, который превратит 10 минут щелчка в один щелчок!

Как создать макрос Excel

Диалоговое окно «Запись макроса в Excel» с выборками образцов.

Чтобы приступить к созданию макросов, сначала нужно добавить вкладку «Разработчик» на ленту. Прочтите наш блог о том, как добавлять и удалять вкладки с ленты Office 2013, чтобы узнать, как это сделать.

После добавления вкладки «Разработчик» выполните следующие действия, чтобы создать макрос Excel:

  1. Перейдите на вкладку «Разработчик» и нажмите кнопку «Запись макроса» в группе «Код» ИЛИ нажмите кнопку в нижнем левом углу экрана. выглядит как электронная таблица с красной точкой в ​​верхнем левом углу.
  2. Придумайте имя для вашего макроса. Пробелы не допускаются, но вместо них можно использовать подчеркивание. На рисунке на этой странице мы назвали наш макрос «Format_Report».
  3. Выберите сочетание клавиш. Обязательно выберите букву, которая еще не используется в качестве сочетания клавиш, поскольку она заменит исходную (т. Е. Не используйте Ctrl + Z, если вы не хотите потерять сочетание клавиш для отмены). Используя Shift, вы можете расширить свои параметры (то есть вместо этого вы можете использовать Ctrl + Shift + Z). На нашей иллюстрации мы обозначили Ctrl + Shift + R в качестве сочетания клавиш.
  4. Выберите, где сохранить макрос. Обычно вы хотите сохранить свой макрос в этой книге, что мы и выбрали в нашем примере. Если вы хотите, чтобы он был доступен всякий раз, когда вы используете Excel, выберите в раскрывающемся меню «Персональная книга макросов».
  5. Введите краткое описание того, что будет делать ваш макрос, в поле «Описание».
  6. Нажмите ОК.

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

Когда вы закончите, нажмите кнопку «Остановить запись» в группе «Код» на вкладке «Разработчик» ИЛИ щелкните синий квадрат в нижнем левом углу окна Excel.

Поздравляем! Вы только что узнали, как создать макрос Excel!

Изучите VBA, чтобы стать экспертом в создании макросов Excel

Хотя вы можете начать с простых примеров, макросы могут оказаться невероятно сложными. Основой макроса является Visual Basic для приложений (VBA), который является языком программирования для приложений Office, таких как Excel.Чтобы действительно стать экспертом в макросах, вы также должны хорошо разбираться в VBA. Чтобы запланировать групповое занятие по изучению VBA, свяжитесь с нашим координатором обучения. Этот курс предназначен для продвинутых профессионалов Microsoft Excel, которым необходимо автоматизировать задачи с электронными таблицами Excel с помощью Visual Basic для приложений (VBA).

Дополнительный совет: абсолютные ссылки и относительные ссылки

Ведущий инструктор Microassist, Энди Уивер, рассказывает об абсолютных и относительных ссылках в этом виртуальном классе.

Дополнительные ресурсы Excel

Это лишь поверхностный обзор того, что вы можете узнать в Microsoft Excel! Мы предлагаем несколько курсов по Excel 2013, от ознакомления с Excel для начинающих, до продвинутых, до классов по сводным таблицам и многого другого.

Ознакомьтесь с нашим расписанием курса

, чтобы узнать, что будет дальше!

Подпишитесь на новости обучения


Как создавать макросы Excel и автоматизировать электронные таблицы

Макросы

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

Макросы Excel: советы по началу работы

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

Во-первых, несколько советов о том, как подготовить данные для макросов:

  • Всегда начинайте макрос с начальной позиции (используйте комбинацию клавиш Ctrl + Home , чтобы быстро добраться до нее).
  • Используйте клавиши со стрелками для навигации: вверх, вниз, вправо, влево, конец, домой и т. Д., А также сочетания клавиш для ускорения движения.
  • Делайте макросы небольшими и сфокусированными на конкретных задачах. Это лучше всего для тестирования и редактирования (при необходимости). Вы всегда можете объединить эти мини-макросы в один БОЛЬШОЙ макрос, когда они будут усовершенствованы.
  • Макрос
  • требует «относительных» адресов ячеек, что означает, что вы «указываете» на ячейки, а не жестко кодируете фактический (или «абсолютный») адрес ячейки (например, A1, B19, C20 и т. Д.)) в макросе. Таблицы являются динамическими, что означает, что они постоянно меняются, что означает изменение адресов ячеек.
  • Фиксированные значения и статическая информация, такая как имена, адреса, идентификационные номера и т. Д., Обычно вводятся заранее и на самом деле не являются частью вашего макроса. Поскольку эти данные меняются редко (а если и меняются, то просто для добавления или удаления новой записи), включить эту функцию в макрос практически невозможно.
  • Сначала управляйте своими данными: добавьте, отредактируйте или удалите записи, затем введите обновленные значения.Затем вы можете выполнить свой макрос.

Почему начать с мини-макросов проще

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

Мы создали несколько мини-макросов для выполнения следующих задач:

  1. Собираем и объединяем данные из ее 12 хранилищ в одну рабочую книгу в главной трехмерной электронной таблице.
  2. Организуйте и отсортируйте данные.
  3. Введите формулы для вычисления объединенных данных.

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

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

скачать

Этот образец книги Excel поможет вам попрактиковаться в создании и использовании макросов. JD Sartain

Подготовительная работа: основная таблица

Если вы создаете свои электронные таблицы с нуля, начните с основной таблицы. Введите формулу даты в A1 и местонахождение магазина в B1. См. Снимок экрана ниже.

Введите эту формулу даты в ячейку A1: = Сегодня () . Теперь в этой ячейке всегда отображается сегодняшняя дата.Быть уверенным; однако, что местоположение вашего магазина (название и номер отделения) введено в B1.

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

3. Затем введите имена полей (и / или любую другую информацию, относящуюся к полю) в строке 3 (например, от A3 до J3, или сколько полей требуется вашей электронной таблице).

Совет: Вы можете переносить информацию в отдельные ячейки по тексту, если данные большие. Например, вы можете поместить контактную информацию магазина в одну ячейку и обернуть строки. Нажмите Alt + Enter , чтобы вставить дополнительные строки в ячейки.

4. Затем введите статические данные в столбец A. Это информация о записи в вашей электронной таблице, которая редко изменяется. Если в вашей компании используются номера продуктов или идентификационные коды, которые уникальны, поскольку для каждого продукта используется только один код, введите их в столбец A, начинающийся в строке 4 (не переходите к строке 5).Другие поля статических данных могут включать описание продукта, цену продукта, процент налога с продаж и т. Д.

Не пропускайте строки и не оставляйте строки пустыми для столбца A. Каждая строка должна содержать данные уникального поля - если не код продукта, затем какой-нибудь другой уникальный идентификатор. Мы делаем это по двум причинам:

  • Столбец A является основным столбцом навигации. Макрос перемещается и перемещается по электронной таблице в зависимости от позиции Home (A1) и столбца A. Макрос завершится ошибкой, если вы проигнорируете это правило, потому что пустые строки нарушают действия клавиш со стрелками.
  • Если вы решите позже создать несколько / реляционных таблиц для сводных отчетов, у вас должно быть уникальное ключевое поле для соединения связанных таблиц. Ознакомьтесь с нашим руководством по сводным таблицам Excel для получения дополнительной информации.
JD Sartain / IDG Worldwide

Сначала создайте основную электронную таблицу.

5. Обычно Описание продукта находится в столбце B, Проданное количество в столбце C, Цена продукта в столбце D, Расширенная стоимость в E, Скидки в F, Налог с продаж в G и Итоги в H.Итоги столбца указаны вверху строки 2, помните? Отформатируйте ширину столбца на основе длины имен полей и установите высоту строки до 20 во всех строках. Измените выравнивание по верхнему / нижнему краю на «По центру», выберите нужное выравнивание (влево, вправо, по центру), а затем отформатируйте «стили» электронной таблицы по своему усмотрению.

6. После настройки главной базы данных ничего не перемещайте. Если вам нужно добавить поля, используйте команду Вставить столбец . Например, если вы хотите добавить второй налог с продаж, поместите курсор в любом месте столбца H (Итоги) и щелкните вкладку: Главная> Вставить> Вставить столбцы листа .Новый столбец станет новым столбцом H, а столбец Итоги переместится в I. Этот процесс не влияет на макрос.

7. Тот же процесс применяется к строкам. Обычно я бы посоветовал вам вставлять строки «внутрь» активной области базы данных. Например, если в формуле указано = СУММ (B3: B20) и вы вставляете или используете строку вне диапазона формулы, например B21, данные новой записи не включаются в формулу и, следовательно, не вычисляются.

8. Теперь мы настроим этот диапазон формул.Введите следующие формулы в строке 2 (это одноразовая задача):

C2: = СУММ (C4: C500)

E2: = СУММ (E4: E500)

F2: = СУММ (F4: F500)

G2: = СУММ (G4: G500)

h3: = СУММ (h5: H500)

Затем введите следующие формулы в эти столбцы (также одноразовое событие ):

E4: = СУММ (C4 * D4) , затем скопируйте из E4 в E5: E500

F4: = СУММ (E4 * 10%) , текущий процент скидки в вашем магазине, затем скопируйте от F4 до F5: E500

G4: = СУММ (E4-F4) * 6.25 , где 6,25 - это налог с продаж в вашем регионе, затем скопируйте из G4 в G5: G500

h5: = SUM (E4-F4 + G4) , затем скопируйте из h5 в H5: E500

Сейчас что у вас есть все формулы электронной таблицы, все, что вам нужно сделать, это ввести количество (столбец C) для каждого проданного компьютера (ежедневно, еженедельно или ежемесячно). Если цены изменятся, введите новые цены в столбец D. Остальная часть этой базы данных - это все формулы или статическая информация.

JD Sartain / IDG Worldwide

Введите формулы для вычисления столбцов и строк.

9. Как показано выше, в таблицах с «макросами» вы устанавливаете диапазон формулы на много строк после последней записи, поэтому вы можете просто добавлять новые записи в конце и не беспокоиться о корректировке диапазона. Поскольку макрос сортирует базу данных, новые записи перемещаются в нужное место. Данные электронной таблицы в нашем примере заканчиваются на строке 210. Диапазон формулы расширяется до строки 500, поэтому можно безопасно добавить следующую новую запись в строку 211.

10. После того, как электронная таблица определена и настроена со структурой, static данные и правильные формулы сделайте 12 копий на листах со 2 по 13.Отредактируйте вкладки внизу, чтобы идентифицировать отдельные магазины. Измените имя вкладки Sheet1 на Master, потому что это ваш главный файл базы данных.

11. Измените данные о местоположении в строке 1, чтобы идентифицировать информацию о магазине (которая соответствует магазину на вкладке) во всех 12 электронных таблицах. Затем отправьте электронную копию таблицы каждого филиала каждому из менеджеров магазина; например, отправьте бостонский лист в Бостон, лист из Далласа в Даллас и т. д.

Их копии включают формулы электронных таблиц, которые работают с их отдельными электронными таблицами (но не формулы объединенных электронных таблиц в рабочей книге).

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

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

JD Sartain / IDG Worldwide

Скопируйте основную электронную таблицу 12 раз, затем присвойте вкладкам имена.

Теперь мы готовы программировать макрос! Просто перейдите на следующую страницу.

Вставить и запустить макросы VBA в Excel

Функция SpellCurr (ByVal MyNumber, _
Необязательный MyCurrency As String = "Rupee", _
Необязательный MyCurrencyPlace As String = "P", _
Необязательный MyCurrencyDecimals As String = "Paisa", _
Необязательный MyCurrencyDecimalsPlace As String = "S")

'********************************************** ************************************************ ***************
'* На основе UDF SpellNumbers от Microsoft, который обрабатывает только доллары в качестве валюты *
' * UDF, модифицированный Йогешем Гуптой, smiley123z @ gmail.com, Ygblogs.blogspot.com 21 июля 2009 г. *
'* UDF изменен 4 сентября 2009 г., чтобы сделать ввод валюты необязательным, по умолчанию будет использоваться индийская валюта *
' * Этот измененный UDF может использоваться для любой валюты в в случае, если вы вводите валюту *
'* Пользователь может определить место префикса и суфикса для валюты и CurrencyDecimals *
' * MyNumber = Числовое значение, которое необходимо преобразовать в слова *
'* MyCurrency = Имя вашей валюты - i.е. Доллар США *
'* MyCurrencyPlace = Префикс или суффикс валюты, используйте «P» для префикса и «S» для суффикса *
' * MyCurrencyDecimals = Название вашей валюты в десятичной системе - например, цент для США *
'* MyCurrencyDecimalsPlace = Префикс или суффикс десятичных знаков валюты, используйте «P» для префикса и «S» для суффикса *
'**************************** ********************************************************************************************************************************************************************************************************************************************************** *********************************

Dim Rupees, Paisa, Temp
Dim DecimalPlace, Count

ReDim Место (9) как строка
Место (2) = "Тысяча"
Место (3) = "Миллион"
Место (4) = "Миллиард"
Место (5) = "Триллион"

'Строковое представление суммы.
MyNumber = Trim (Str (MyNumber))

'Позиция десятичного разряда 0, если его нет.
DecimalPlace = InStr (MyNumber, ".")

'Преобразуйте Пайсу и установите MyNumber в рупию.
Если DecimalPlace> 0, то
Paisa = GetTens (Left (Mid (MyNumber, DecimalPlace + 1) & _
"00", 2))
MyNumber = Trim (Left (MyNumber, DecimalPlace - 1))
End If

Счетчик = 1

Do While MyNumber ""
Temp = GetHundreds (Right (MyNumber, 3))
If Temp "" Then Rupees = Temp & Place (Count) & Rupees
If Len (MyNumber)> 3 Then
MyNumber = Left (MyNumber, Len (MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1

Петля

Если MyCurrencyPlace = "P", то
Выбрать случай рупий
Случай ""
рупий = MyCurrency & "s" & "Zero"
Case "One"
рупий = MyCurrency & "One"
Case Else
Rupees = MyCurrency & " s "& Rupees
End Select
Else
Select Case Rupees
Case" "
Rupees =" Zero "& MyCurrency &" s "
Case" One "
Rupees =" One "& MyCurrency
Case Else
Rupees = Rupees & "" & MyCurrency & "s"
End Select
End If

Если MyCurrencyDecimalsPlace = "S" Тогда
Выберите вариант Paisa
Case ""
Paisa = "Only"
Case "One"
Paisa = "and One" & MyCurrencyDecimals & "Only"
Case Else
Paisa = "и" & Paisa & "" & MyCurrencyDecimals & "s Only"
End Select
Else
Select Case Paisa
Case ""
Paisa = "Only"
Case "One"
Paisa = "and" & MyCurrencyDecimals & "One" & "Only «
Case Else
Paisa =» и «& MyCurrencyDecimals &« s »& Paisa &« Only »
End Select
End If

SpellCurr =

рупий и пайса

Конечная функция

'******************************************
' Преобразует число с 100-999 в текст *
'************************************************************************************************************************************************************************************************************************ **

Функция GetHundreds (ByVal MyNumber)
Dim Result As String
If Val (MyNumber) = 0 Then Exit Function
MyNumber = Right ("000" & MyNumber, 3)
'Преобразование разряда сотен.
Если Mid (MyNumber, 1, 1) "0", то
Result = GetDigit (Mid (MyNumber, 1, 1)) & "Hundred"
End If

'Конвертируем десятки и единицы.
Если Mid (MyNumber, 2, 1) "0", то
Result = Result & GetTens (Mid (MyNumber, 2))
Else
Result = Result & GetDigit (Mid (MyNumber, 3))
End If
GetHundreds = Результат
Конечная функция

'*******************************************
' Преобразует число от 10 до 99 в текст.*
'********************************************
Функция GetTens (TensText)

Dim Result As String
Result = "" 'Обнулить временное значение функции.
If Val (Left (TensText, 1)) = 1 Then 'Если значение между 10-19 ...
Select Case Val (TensText)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Случай 12: Результат = «Двенадцать»
Случай 13: Результат = «Тринадцать»
Случай 14: Результат = «Четырнадцать»
Случай 15: Результат = «Пятнадцать»
Случай 16: Результат = «Шестнадцать»
Случай 17: Результат = "Семнадцать"
Случай 18: Результат = "Восемнадцать"
Случай 19: Результат = "Девятнадцать"
Случай Иначе
Конец Выбрать
Иначе 'Если значение между 20-99...
Select Case Val (Left (TensText, 1))
Case 2: Result = "Twenty"
Case 3: Result = "Thirty"
Case 4: Result = "Forty"
Case 5: Result = "Fifty"
Случай 6: Результат = "Шестьдесят"
Случай 7: Результат = "Семьдесят"
Случай 8: Результат = "Восемьдесят"
Случай 9: Результат = "Девяносто"
Случай Иначе
Конец Выбрать

Result = Result & GetDigit _
(Right (TensText, 1)) 'Получить одно место.
End If
GetTens = Result
End Function

'******************************************
' Преобразует число от 1 до 9 в текст.*
'******************************************

Функция GetDigit (Digit)
Select Case Val (Digit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Случай 5: GetDigit = "Five"
Случай 6: GetDigit = "Six"
Случай 7: GetDigit = "Seven"
Случай 8: GetDigit = "Eight"
Случай 9: GetDigit = "Nine"
Case Else: GetDigit = «»
Выбор конца
Завершение функции

Быстрый старт: создание макроса

Если у вас есть задачи в Microsoft Excel, которые вы выполняете неоднократно, вы можете записать макрос для автоматизации этих задач.Макрос - это действие или набор действий, которые вы можете запускать сколько угодно раз. Когда вы создаете макрос, вы записываете щелчки мыши и нажатия клавиш. После создания макроса вы можете отредактировать его, чтобы внести незначительные изменения в способ его работы.

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

Как?

Перед записью макроса

Макросы

и инструменты VBA можно найти на вкладке Developer , которая по умолчанию скрыта, поэтому первым делом нужно ее включить. Для получения дополнительной информации см. Показать вкладку «Разработчик».

Запись макроса

  1. В группе Code на вкладке Developer щелкните Record Macro .

  2. При желании введите имя макроса в поле Имя макроса , введите сочетание клавиш в поле Сочетание клавиш и описание в поле Описание , а затем нажмите OK , чтобы начать запись.

  3. Выполните действия, которые вы хотите автоматизировать, например введите шаблонный текст или заполните столбец данных.

  4. На вкладке Developer щелкните Stop Recording .

Присмотритесь к макросу

Вы можете немного узнать о языке программирования Visual Basic, отредактировав макрос.

Чтобы отредактировать макрос, в группе Code на вкладке Developer щелкните Macros , выберите имя макроса и щелкните Edit . Это запустит редактор Visual Basic.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и снова запустите макрос.На этот раз посмотрите, не случится ли что-нибудь по-другому!

Следующие шаги

Как?

Перед записью макроса

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

  1. Перейдите в Excel > Настройки… > Лента и панель инструментов .

  2. В категории Настроить ленту в списке Основные вкладки установите флажок Developer , а затем щелкните Сохранить .

Запись макроса

  1. На вкладке Developer щелкните Record Macro .

  2. При желании введите имя макроса в поле Имя макроса , введите сочетание клавиш в поле Сочетание клавиш и описание в поле Описание , а затем нажмите OK , чтобы начать запись.

  3. Выполните действия, которые вы хотите автоматизировать, например введите шаблонный текст или заполните столбец данных.

  4. На вкладке Developer в группе Code щелкните Stop Recording .

Присмотритесь к макросу

Вы можете немного узнать о языке программирования Visual Basic, отредактировав макрос.

Чтобы отредактировать макрос, на вкладке Developer щелкните Macros , выберите имя макроса и щелкните Edit . Это запустит редактор Visual Basic.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и снова запустите макрос.На этот раз посмотрите, не случится ли что-нибудь по-другому!

Нужна дополнительная помощь?

Вы всегда можете спросить эксперта в техническом сообществе Excel, получить поддержку в сообществе Answers или предложить новую функцию или улучшение в Excel User Voice.

Создание макросов за 7 простых шагов

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

Если у вас есть (и, возможно, даже если вы этого не сделали), вы, вероятно, заметили, что рутинные вещи, такие как форматирование или вставка стандартного текста, обычно занимают значительное количество времени.Даже если у вас есть практика в выполнении этих действий и вы можете выполнять их относительно быстро, те «5 минут», которые вы тратите почти каждый день, вставляя название своей компании и детали во все рабочие листы Excel, которые вы отправляете клиентам / коллегам, начинают добавляться со временем.

В большинстве (не во всех) случаях затраты времени на эти общие, но повторяющиеся операции не дают пропорциональных результатов. Фактически, большинство из них являются прекрасными примерами принципа 80/20 в действии. Они являются частью большинства усилий, которые мало влияют на результат.

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

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

Макросы - это сложная тема, и если вы хотите стать продвинутым программистом, вы столкнетесь со сложными материалами.Вот почему иногда бывает трудно следовать некоторым обучающим материалам по этой теме.

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

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

Точнее, в этом руководстве по Excel я покажу вам, как настроить макрос, который выполняет следующие действия:

  • Введите «Это лучший учебник по Excel» в активную ячейку.
  • Автоматически подогнать под ширину столбца активной ячейки, чтобы набранный текст поместился в один столбец.
  • Раскрасьте активную ячейку в красный цвет.
  • Измените цвет шрифта активной ячейки на синий.

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

Семь шагов, которые я объясню ниже, достаточно, чтобы вы начали создавать базовые макросы Excel .

Однако, если вы заинтересованы в полном раскрытии возможностей макросов и хотите научиться программировать макросы Excel с помощью VBA, вторая часть этого руководства по макросам Excel для начинающих поможет вам изучить более сложные темы:

  • Знакомство с Visual Basic для приложений (или VBA) и редактором Visual Basic (или VBE).
  • Объяснение того, как вы можете увидеть фактические инструкции программирования, стоящие за макросом, и как вы можете использовать это, чтобы начать изучение того, как писать код макроса Excel.
  • Дайте вам несколько советов, которые вы можете начать использовать прямо сейчас, чтобы улучшить и ускорить процесс изучения макросов и программирования на VBA.

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

Вы готовы создать свой первый макрос Excel?

Затем приступим к подготовке…

Перед тем, как приступить к созданию макросов: показать вкладку разработчика

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

В Excel большинство полезных команд при работе с макросами Excel и Visual Basic для приложений находятся на вкладке «Разработчик».

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

В этом разделе я объясню, как добавить вкладку «Разработчик» на ленту. В конце пошагового объяснения есть изображение, показывающее весь процесс.

Обратите внимание, что вам нужно только один раз попросить Excel отобразить вкладку «Разработчик» . Предполагая, что настройка не будет отменена позже, Excel продолжит отображать вкладку в будущих возможностях.

1. Шаг №1.

Откройте диалоговое окно «Параметры Excel» одним из следующих способов:

  • Метод №1.

    Шаг № 1: С помощью мыши щелкните ленту правой кнопкой мыши.

    Шаг № 2: Excel отображает контекстное меню.

    Шаг № 3: Щелкните «Настроить ленту…».

    Следующее изображение иллюстрирует эти 3 шага:

  • Метод № 2.

    Шаг № 1: Щелкните вкладку ленты файлов.

    Шаг № 2: На панели навигации, расположенной в левой части экрана, щелкните «Параметры».

    На следующем изображении показано, как это сделать:

  • Метод № 3.

    Используйте сочетания клавиш, такие как «Alt + T + O» или «Alt + F + T».

2. Шаг 2.

Находясь в диалоговом окне «Параметры Excel», убедитесь, что вы находитесь на вкладке «Настроить ленту», щелкнув эту вкладку на панели навигации, расположенной слева.

3. Шаг №3.

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

Это вкладка «Разработчик», которая по умолчанию является третьей вкладкой снизу в списке (чуть выше «Надстройки» и «Удаление фона»).

Поле слева от «Разработчик» по умолчанию пусто. В этом случае вкладка Разработчик не отображается на ленте. Если в этом поле установлен флажок, на ленте появится вкладка Разработчик.

4. Шаг 4.

Если поле слева от «Разработчик» пусто, щелкните по нему, чтобы поставить отметку.

Если в поле уже стоит галочка, ничего делать не нужно (у вас уже должна быть вкладка Разработчик на ленте).

5. Шаг 5.

Нажмите кнопку «ОК» в правом нижнем углу диалогового окна «Параметры Excel».

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

Как включить вкладку разработчика в изображениях

На изображении ниже вы шаг за шагом выполните описанный выше процесс:

Инструменты для создания макросов Excel

Excel позволяет создавать макросы, используя либо из следующих инструментов:

  • Регистратор макросов, который позволяет вам записывать выполняемые вами действия в книгу Excel.
  • Редактор Visual Basic, требующий написания инструкций, которым должен следовать Excel, на языке программирования Visual Basic для приложений.

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

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

Как пояснил Джон Уокенбах (один из ведущих авторитетов в Microsoft Excel) в Библии Excel 2013 , если ваша цель - только запись и воспроизведение макросов:

(…) вам не о чем беспокоиться с самим языком (хотя базовое понимание того, как все работает, не вредит).

Однако, если вы хотите по максимуму использовать макросы Excel и полностью использовать их возможности, вам в конечном итоге потребуется изучить VBA. Как сказал г.Excel (Билл Джелен) (еще один выдающийся мастер Excel) и Трейси Сирстад (консультант по Excel и Access) говорят, что в Excel 2013 VBA и Macros запись макроса полезна, если вы новичок и не имеете опыта в программировании макросов. но…

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

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

Однако на данный момент я объясню ниже, как вы можете записать макрос Excel с помощью записывающего устройства:

7 простых шагов для создания вашего первого макроса

OK…

К настоящему времени вы добавили вкладку Разработчик на ленту и вы знаете, что есть два разных инструмента, которые вы можете использовать для создания макроса, включая рекордер.

Вы готовы создать свой первый макрос Excel . Для этого просто выполните 7 простых шагов, которые я объясню ниже.

1.Шаг 1.

Щелкните вкладку Разработчик.

2. Шаг №2.

Убедитесь, что запись относительных ссылок включена, установив флажок «Использовать относительные ссылки».

Если запись относительных ссылок не включена, как показано на скриншоте ниже, нажмите «Использовать относительные ссылки».

Если включена запись относительного эталона, как в случае на скриншоте ниже, вам не нужно ничего щелкать.

Я могу объяснить использование относительных и абсолютных ссылок далее в будущих руководствах. Однако на данный момент убедитесь, что вы включили запись относительного эталона .

Когда относительная запись отключена (что по умолчанию), записываются абсолютные / точные адреса ячеек. Когда запись относительных ссылок включена, любые действия, записываемые Excel, относятся к активной ячейке. Другими словами, абсолютная запись, как объяснил Билл Джелен в Excel 2013 in Depth , «чрезвычайно буквальна».

Например, предположим, что вы записываете макрос Excel, который:

  • Типы «Это лучший учебник по Excel» в активной ячейке.
  • Копирует только что набранный текст и вставляет его в ячейку непосредственно под ним.

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

  • Введите «Это лучший учебник по Excel» в активной ячейке.
  • Скопируйте текст и вставьте его в ячейку A4 , которая находится непосредственно под активной ячейкой в ​​момент начала записи макроса.

Как вы понимаете, этот макрос работает не очень хорошо, если при его использовании вы находитесь в любой ячейке, кроме A3.

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

3. Шаг № 3.

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

4.Шаг №4.

Появится диалоговое окно «Запись макроса». Этот диалог позволяет:

  • Назначить имя макросу.

    Excel присваивает макросам имя по умолчанию: «Макрос1», «Макрос2», «Макро3» и так далее. Однако, как объяснил Джон Уокенбах в Excel VBA Programming for Dummies , , обычно более полезно использовать описательное имя .

    Основные правила для имен макросов заключаются в том, что они должны начинаться с буквы или символа подчеркивания (_) (не числа), не могут содержать пробелов или специальных символов, кроме подчеркивания (что разрешено), и не должны конфликтовать с ранее существовавшие имена.Я подробно освещаю тему именования макросов здесь (для процедур Sub) и здесь (для процедур Function).

    Например, «Лучшее руководство по Excel» не является приемлемым названием, но «Best_Excel_Tutorial» работает:

  • Назначьте макросу сочетание клавиш.

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

    Назначаемое сочетание клавиш имеет вид «Ctrl + комбинация клавиш».В этом контексте комбинация клавиш означает либо (i), , либо отдельную букву, либо (ii) комбинацию буквы и клавиши Shift.

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

    Если вы выберете ранее назначенную комбинацию клавиш (например, встроенную комбинацию клавиш), выбранная вами комбинация клавиш для макроса Excel отменяет и отключает ранее существовавшую комбинацию клавиш.Поскольку в Excel есть несколько встроенных сочетаний клавиш в виде «Ctrl + Letter», риск отключения встроенных сочетаний клавиш не так уж и мал.

    Возьмем, к примеру, сочетание клавиш «Ctrl + B», которое является встроенным сочетанием клавиш для команды Полужирный шрифт.

    Если, однако, вы назначите сочетание клавиш «Ctrl + B» для определенного макроса, встроенное сочетание клавиш для команды «Полужирный» будет отключено. Как следствие, если вы нажмете «Ctrl + B», макрос будет выполнен, но шрифт выделенного текста не будет выделен жирным шрифтом.

    Один из способов решения этой проблемы, который обычно работает, - назначить сочетания клавиш в форме «Ctrl + Shift + Letter». Риск перезаписи и отключения ранее существовавшего сочетания клавиш меньше, но в любом случае я предлагаю вам продолжить с , будьте осторожны с точной комбинацией клавиш, которую вы выбираете .

    Это означает, что, например, вместо выбора «Ctrl + B» в качестве сочетания клавиш мы могли бы назначить «Ctrl + Shift + B»:

  • Решите, где вы хотите сохранить макрос.

    Вы можете сохранить макрос в книге, над которой вы работаете («Эта книга»), в новом файле Excel («Новая книга») или в личной книге макросов («Личная книга макросов»).

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


    Если вы выберете «Новая книга», Excel откроет новый файл. Вы можете записать и сохранить макрос в этой новой книге, но, как и в случае выбора «Эта книга», макрос работает только в том файле, в котором он был создан.

    Более продвинутым вариантом хранения является «Персональная книга макросов». В Excel 2013 Подробно Билл Джелен определяет личную книгу макросов как

    (…) специальную книгу, предназначенную для хранения макросов общего назначения, которые могут применяться к любой книге.

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

  • Создайте описание макроса.

    Наличие описания макроса необязательно . Однако, как объяснил Грег Харви в книге Excel 2013 All-in-One для чайников :

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

    Харви также предлагает указать дату сохранения макроса и автора макроса.

5. Шаг 5.

После того, как вы назначили имя, установите место, где вы хотите сохранить макрос и (если хотите) назначили сочетание клавиш и создали описание макроса, нажмите кнопку ОК, чтобы закрыть диалоговое окно «Запись макроса».

6. Шаг 6.

Выполните действия, которые макрос должен записывать и сохранять.

7. Шаг 7.

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

Вот и все… На самом деле, чтобы записать свой первый макрос , достаточно семи простых шагов.

Пример создания макроса Excel

Если вы выполните 7 простых шагов, описанных выше, вы уже сможете приступить к созданию базовых макросов.

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

  • Введите «Это лучший учебник по Excel» в активную ячейку.
  • Автоматическая установка ширины столбца активной ячейки.
  • Раскрасьте активную ячейку в красный цвет.
  • Измените цвет шрифта активной ячейки на синий.

Я уже объяснял, как сделать так, чтобы вкладка «Разработчик» отображалась в Excel. Поскольку вам нужно всего лишь один раз запросить Excel для отображения вкладки «Разработчик», изображение ниже показывает только фактическую запись макроса .

В этом конкретном примере я использовал параметры, описанные выше, при работе с диалоговым окном «Запись макроса».Точнее: имя, присвоенное макросу, - «Best_Excel_Tutorial», сочетание клавиш - «Ctrl + Shift + B», а макрос Excel был сохранен в книге Excel, над которой я работал.

Готово?

Если все готово…

Поздравляем! Вы создали свой первый макрос Excel!

Потрясающе!

Теперь вы можете запустить новый макрос с помощью назначенного сочетания клавиш (в данном случае «Ctrl + Shift + B»).Когда вы станете более продвинутым пользователем макросов, вы увидите, что есть несколько других способов выполнить макрос, например макрос Best_Excel_Tutorial выше.

Надеюсь, вам было легко создать свой первый макрос Excel. По крайней мере, я надеюсь, что вы понимаете, что основы макросов Excel не так сложны, как может показаться на первый взгляд.

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

Тем не менее, это правда, что информации из предыдущих разделов этого руководства по макросам для начинающих достаточно, чтобы настроить относительно широкий спектр макросов . В Библии Excel 2013 Джон Уокенбах объясняет, что:

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

Итак, еще раз поздравляем с созданием вашего первого макроса Excel!

Следующий шаг в создании макросов Excel: введите VBA

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

Однако это не означает, что вам не следует изучать программирование. Если вы хотите раскрыть всю мощь макросов Excel, вам придется изучить Visual Basic для приложений .

Программирование макросов Excel с использованием VBA более мощное средство, чем простая запись макросов по нескольким причинам, основная из которых заключается в том, что использование кода VBA позволяет выполнять задачи, которые невозможно записать с помощью Macro Recorder.

Например:

  • В Библии Excel 2013 Джон Уолкенбах перечисляет некоторые примеры задач, которые невозможно записать, например, отображение «настраиваемых диалоговых окон или обработки данных в серии книг и даже создания специальных». -целевые надстройки.
  • В Excel 2013 VBA и макросах Билл Джелен и Трейси Сирстад говорят нам, что «важно понимать, что средство записи макросов никогда не будет правильно записывать назначение кнопки автосуммирования».

Если бы у меня было место, я мог бы продолжить создание действительно длинного списка примеров того, как программирование с помощью VBA является лучшим способом создания макросов, чем использование Macro Recorder.

Начало обучения написанию кода макроса Excel

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

Чтобы начать обучение программированию макросов, полезно взглянуть на фактические инструкции (или код), которые вы создали при записи макроса . Для этого вам необходимо активировать редактор Visual Basic.

Давайте откроем VBE, щелкнув «Visual Basic» на вкладке «Разработчик» или используя сочетание клавиш «Alt + F11».

Excel открывает редактор Visual Basic, который выглядит примерно следующим образом:

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

Впервые я увидел это окно несколько лет назад. Первые два вопроса были следующими:

  1. На что я смотрю?
  2. Возможно, что более важно, где код моего макроса?

Поскольку у вас могут быть те же вопросы, давайте на них ответим.

Что вы смотрите в редакторе Visual Basic

Вы можете разделить VBE на 6 основных разделов:

1. Пункт № 1: Строка меню.

Строка меню редактора Visual Basic во многом похожа на строки меню, которые вы используете в других программах.

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

Если вы работаете с более поздними версиями Excel (2007 или новее), вы, возможно, заметили, что в самом Excel нет строки меню, а, скорее, ленты. Причина этого в том, что в Microsoft Office 2007 Microsoft заменила меню и панели инструментов некоторых программ лентой.

2. Элемент № 2: Панель инструментов.

Панель инструментов VBE, как и панель меню, похожа на панели инструментов, с которыми вы, возможно, сталкивались при использовании других типов программного обеспечения.

Точнее, панель инструментов содержит такие элементы, как экранные кнопки, значки, меню и подобные элементы. Панель инструментов, показанная на снимке экрана выше, является стандартной панелью инструментов редактора Visual Basic по умолчанию. Как объяснил Джон Уокенбах в Excel VBA Programming for Dummies , большинство людей (включая самого Вокенбаха) «просто оставляют их такими, какие они есть».

Как объяснялось выше, если у вас более новая версия Excel (начиная с 2007 года), вы не увидите ни панели инструментов, ни строки меню в окне Excel, потому что Microsoft заменила оба этих элемента лентой.

3. Элемент № 3: Окно проекта (или проводник проекта).

Окно проекта - это часть VBE, где вы можете найти список всех открытых книг Excel и загруженных надстроек. Этот раздел полезен для целей навигации.

Как вы можете видеть на изображении ниже, редактор Visual Basic позволяет разворачивать или сворачивать различные разделы списка, щелкая «+» или «-» (в зависимости от обстоятельств), отображаемый на левая часть соответствующей ветви.

Когда «VBAProject» развернут, он показывает различные папки, которые в данный момент загружены. Может быть несколько папок для разных типов элементов, таких как листы, объекты, формы и модули. Я объясняю, что все это такое, в других руководствах по VBA и макросам.

Когда папка раскрывается, вы можете видеть отдельные компоненты внутри этой папки.

Например, на изображении выше есть 2 папки (объекты и модули Microsoft Excel), а в папке объектов Microsoft Excel (развернутой) есть два элемента (Sheet1 и ThisWorkbook).

Если вы не видите Project Explorer, возможно, он скрыт.

Чтобы открыть окно проекта, используйте сочетание клавиш «Ctrl + R», щелкните значок Project Explorer на панели инструментов или перейдите в меню «Просмотр» и нажмите «Project Explorer»:

4 .Пункт № 4: Окно свойств.

Окно свойств - это раздел VBE, который вы используете для редактирования свойств всего, что вы могли выбрать в окне проекта.

Окно свойств можно скрыть или показать.

Если ваш редактор Visual Basic в данный момент не отображает окно свойств, используйте сочетание клавиш «F4», щелкните значок «Окно свойств» на панели инструментов или разверните меню «Просмотр» и нажмите «Окно свойств»:

5.Пункт № 5: Окно программирования (или кода).

В окне программирования отображается записанный вами код VBA.

В следующем разделе я объясню, как заставить редактор Visual Basic отображать код ваших макросов.

Помимо отображения кода, в окне кода вы можете писать или редактировать код VBA.

6. Пункт № 6: Непосредственное окно.

Немедленное окно полезно для обнаружения ошибок, проверки или отладки.

Вы могли заметить, что на первом снимке экрана VBE, который я включил выше, нет немедленного окна. Для этого есть две основные причины:

  • Это окно по умолчанию скрыто.
  • Как объяснил Джон Уокенбах в книге Excel VBA Programming for Dummies , это окно не так полезно для новичков и, следовательно, может быть более целесообразным сохранить его скрытым или, если оно отображается в настоящее время, скрыть его.

Чтобы показать непосредственное окно, используйте сочетание клавиш «Ctrl + G» или войдите в меню «Вид» и нажмите «Немедленное окно».

Теперь, когда вы знаете, на что вы смотрите при работе с редактором Visual Basic, давайте продолжим и узнаем, как вы можете увидеть фактический код созданного вами макроса…

Где находится ваш код макроса VBA

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

На снимке экрана выше «VBAProject» развернут и показывает две папки: Объекты Microsoft Excel и Модули.Вы можете видеть элементы внутри первой папки (объекты Microsoft Excel), но не внутри второй (модули).

Чтобы развернуть папку «Модули» и просмотреть ее компоненты, нажмите «+»:

Обозреватель проекта выглядит примерно следующим образом:

Элементы, которые появляются в папке Microsoft Excel Objects, могут показаться вам знакомыми. Однако вы можете задаться вопросом…

Что такое модуль?

Модуль - это, по словам Джона Уокенбаха в Библии Excel 2013 , «контейнер для кода VBA».

Другими словами, модуль - это место, где фактически хранится код VBA. Если вы следовали примеру из этого руководства по макросам Excel для начинающих, ваш код макроса находится в модуле, точнее в Module1:

. Чтобы редактор Visual Basic отображал код VBA, дважды щелкните « Module1 »или щелкните правой кнопкой мыши« Module1 »и выберите« Просмотреть код »:

. VBE отобразит код макроса в окне программирования. Если вы следовали примеру из этого руководства для начинающих и создали макрос Best_Excel_Tutorial, ваш код выглядит примерно так:

Имеет ли это для вас смысл?

Хорошая новость заключается в том, что в определенной степени , вероятно, имеет немного смысла .

Однако вам может показаться, что вы не полностью понимаете все инструкции в созданном вами макросе Excel.

Вам также может быть интересно… Почему такая простая задача, как написание текста, автоматическая подгонка столбца, раскрашивание ячейки и изменение цвета шрифта, требует такого большого количества программирования?

Все эти переживания и вопросы нормальные.

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

Изучение VBA с нуля на примере базового макроса Excel

Сначала хорошие новости.

Как вы могли заметить, код VBA (отчасти) похож на английский . В статье VBA для Excel Made Simple Кейт Дарлингтон (опытный преподаватель программирования) объясняет, как структурированный английский язык (который похож на обычный английский) может быть полезным промежуточным шагом для продумывания инструкций, которым должен следовать макрос, прежде чем фактически писать эти инструкции на Visual Basic для приложений.

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

  • ActiveCell.Select.

    Активная ячейка - это ячейка, которая в данный момент выбрана на листе. Я предполагаю, что, даже если вы не знакомы с Excel или Visual Basic для приложений, вы знаете, что означает слово «выбрать».

    Правильно, как вы, наверное, догадались, этот фрагмент кода выбирает текущую активную ячейку.

  • Selection.Columns.Autofit.

    Эта строка кода снова начинается с выделения. Однако затем он ссылается на столбцы и автоматическую подгонку.

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

    Учитывая вышеизложенное, вы могли (правильно) подумать, что цель этого фрагмента кода VBA - автоматически подогнать столбец, в котором расположена активная ячейка, так, чтобы текст, который вводит макрос, помещался в один столбец.

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

Основы кода макроса Excel

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

Не волнуйтесь, если вы сейчас не понимаете каждую строчку ниже.

Цель этой части руководства не в том, чтобы сделать вас экспертом в Visual Basic для приложений, а в том, чтобы дать вам общее представление о том, как работает VBA, и, что более важно, показать вам, какие инструкции выполняет Excel. чтобы написать «Это лучший учебник по Excel», автоматически подогнать столбец, покрасить активную ячейку в красный цвет и изменить цвет шрифта на синий.

Вы заметите (не только в этот раз, но обычно при записи макросов), что код VBA может включать в себя некоторые действия, которые вы на самом деле не выполняли.По словам Джона Уокенбаха в Библии Excel 2013 , это «просто побочный продукт метода, который Excel использует для преобразования действий в код».

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

Окно программирования, содержащее код созданного вами макроса, состоит из следующих частей:

Элемент № 1: Sub Best_Excel_Tutorial ()

Sub означает подпроцедуру.Это один из двух типов макросов или процедур, которые вы можете использовать в Excel.

Подпроцедуры выполняют определенные действия или действия в Excel.

Другой тип процедуры - это функциональная процедура. Функциональные процедуры используются для выполнения вычислений и возврата значения.

Итак… что делает эта строка?

Он просто сообщает Excel, что вы пишете новую подпроцедуру.

Подпроцедуры всегда должны начинаться с:

  • слова «Подпроцедуры».
  • Имя процедуры, в данном случае Best_Excel_Tutorial.
  • Круглые скобки.

Кроме того, подпроцедуры всегда должны заканчиваться словами «End Sub», как вы можете видеть в последней строке кода, показанной на скриншоте выше (обозначенной цифрой 8).

Элемент № 2: Строки кода VBA зеленым шрифтом, начинающиеся с «

» Я имею в виду следующие строки:

'
Макрос Best_Excel_Tutorial
'Типы "Это лучший учебник по Excel". Автоматически подходит к столбцу.Цвет ячейки красный. Цвет шрифта синий.
'
'Сочетание клавиш: Ctrl + Shift + B
'
 

Это просто комментарии. Комментарии имеют следующие основные характеристики:

  • Они начинаются (или обозначаются) апострофом (‘).
  • Visual Basic для приложений, как правило, игнорирует текст, идущий после апострофа до конца строки. Поэтому при выполнении макроса Excel просто игнорирует комментарии.
  • Как следствие предыдущего пункта, основная цель комментария - показать информацию об этом конкретном макросе и помочь вам понять ее.Комментарии могут объяснить такие вещи, как цель процедуры или самые последние изменения, внесенные в процедуру.

Элемент № 3: ActiveCell.Select

Как объяснено выше, эта строка указывает Excel выбрать текущую активную ячейку. Точнее:

  • «ActiveCell» ссылается на текущую активную ячейку в активном окне.
  • «Выбрать» активирует объект на текущем активном листе Excel, в данном случае текущую активную ячейку, на которую ActiveCell ссылается.

Элемент № 4: ActiveCell.FormulaR1C1 = «Это лучший учебник по Excel»

Этот оператор указывает Excel написать «Это лучший учебник по Excel» в активной ячейке.

Давайте проверим каждую из отдельных частей линии:

  • Вы уже знаете, каково назначение ActiveCell.
  • «FormulaR1C1» указывает Excel установить формулу для объекта, в данном случае текущей активной ячейки, на которую ссылается ActiveCell. Последняя часть (R1C1) ссылается на нотацию R1C1, в которой ссылки на ячейки являются относительными, а не абсолютными.Я объясню нотацию R1C1 более подробно в этом руководстве. Однако помните, что в начале этого руководства я объясняю:
    • Почему вам следует включить запись относительного эталона; и
    • Как это сделать.
  • «Это лучший учебник по Excel» указывает, какая формула (в данном случае текст) должна быть помещена в объект, в данном случае активную ячейку.

Элемент № 5: Selection.Columns.AutoFit

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

Следующее является целью различных частей этого оператора:

  • «Выбор» просто представляет текущий выбор, в данном случае активную ячейку.
  • «Столбцы» выбирает столбцы в выделении, в данном случае столбец, в котором находится активная ячейка.
  • «AutoFit» говорит само за себя; он устанавливает ширину выбранных столбцов (как в этом случае) или высоту выбранных строк до любого размера, «обеспечивающего наилучшее соответствие».

Элемент № 6: With… End With Statement 1

Я имею в виду следующую группу строк, которая известна как оператор With… End With:

С выделением.Интерьер
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 255
    .TintAndShade = 0
    .PatternTintAndShade = 0
Конец с
 

Созданный вами макрос Excel уже выполнил два из четырех действий, которые он должен выполнить:

  • Он напечатал «Это лучший учебник по Excel» в активной ячейке.
  • Ширина столбца подгоняется автоматически, так что набранный текст умещается правильно.

Как и следовало ожидать, следующее действие, которое выполняет Excel, - это окрашивание активной ячейки в красный цвет.

Можно было ожидать, что раскраска активной ячейки - простой шаг. Однако оказывается, что Excel необходимо выполнить множество шагов, чтобы выполнить это действие.

Это причина, по которой существуют операторы With… End With.

Основная цель оператора With… End With - упростить синтаксис путем выполнения нескольких инструкций, которые все ссылаются на один и тот же объект, без необходимости каждый раз обращаться к этому объекту. В случае примера, используемого в этом руководстве для начинающих, этот объект является активной ячейкой.

Как вы можете видеть на скриншоте ниже, основной макрос, который вы записали, имеет два оператора With… End With:

With… End With имеет следующую структуру:

  • В начале они должны указывать «С objectExpression». В других уроках я исследую, что означает «objectExpression». На данный момент достаточно знать, что в случае примера, включенного в это руководство, «objectExpression» - это «Selection.Interior» (для первого оператора With… End With) и «Selection.Шрифт »(для второго оператора With… End With), как я объясню ниже.
  • Они могут иметь одну или несколько строк кода, которые представляют собой инструкции, выполняемые для объекта, на который была сделана ссылка.
  • В конце они должны сказать «Конец с».

В случае первого оператора With… End With каждый из этих объектов выглядит следующим образом:

Теперь, когда у вас есть базовое представление о том, что делает оператор With… End With, давайте взглянем на первая построчная:

1.Строка №1: С Selection.Interior.

Эта строка сообщает Excel, что она всегда должна ссылаться на внутреннюю часть активной ячейки при выполнении операторов, которые являются частью оператора With… End With.

Как этого добиться?

  • «С» является началом оператора With… End With и сообщает Excel, что последующие строки кода ссылаются на объект, упомянутый в этой строке (работают с ним).
  • «Selection.Interior» - это «objectExpression», о котором я упоминал выше при объяснении структуры операторов With… End With.«Выбор» представляет текущий выбор, который в этом примере является активной ячейкой, тогда как «Внутренний» обозначает внутреннюю часть объекта, в данном случае внутреннюю часть активной ячейки.

2. Строка № 2: .Pattern = xlSolid.

Это первая строка оператора With… End With, который ссылается на внутреннюю часть активной ячейки.

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

  • «Шаблон» устанавливает внутренний узор.
  • «xlSolid» указывает, что узор должен быть сплошным цветом.

3. Строка № 3: .PatternColorIndex = xlAutomatic.

Эта строка определяет автоматический узор для внутренней части активной ячейки следующим образом:

  • «PatternColorIndex» устанавливает цвет внутреннего узора.
  • «xlAutomatic» указывает, что цвет должен быть автоматическим.

4. Строка №4: .Color = 25.

Это утверждение, которое фактически сообщает Excel, какой цвет следует использовать для заполнения внутренней части активной ячейки.

«Цвет» назначает цвет ячейки, тогда как число (в данном случае 255) указывает цвет, который в макросе Best_Excel_Tutorial является красным.

5. Строка №5: .TintAndShade = 0.

Эта строка предписывает Excel не осветлять и не затемнять цвет, выбранный для заполнения активной ячейки.

«TintAndShade» устанавливает осветление или затемнение цвета. Когда для TintAndShade установлено значение 0 (как в этом случае), свойство фиксируется на нейтральный, и, следовательно, не происходит осветления или затемнения цвета, выбранного для активной ячейки.

6. Строка №6: .PatternTintAndShade = 0.

Как вы можете себе представить, эта строка сообщает Excel, что она не должна устанавливать оттенок или образец оттенка для внутренней части активной ячейки.

«PatternTintAndShade» устанавливает оттенок и образец тени для внутренней части объекта, в данном случае для выбранной ячейки.

7. Строка 7: оканчивается на.

Эта строка сигнализирует Excel о конце оператора With… End With.

Следовательно, последующие строки кода ссылаются на другой объект, нежели тот, на который ссылается этот оператор With… End With.

В случае примера, использованного в этом руководстве по макросам Excel для начинающих, конец первого оператора With… End With указывает, что последующие операторы не ссылаются на внутреннюю часть активной ячейки.

Элемент № 7: With… End With Statement 2

Вы узнали выше, что такое оператор With… End With и какова его общая структура.

Поэтому я сразу перехожу к построчному объяснению второго оператора With… End With макроса, который, как вы, вероятно, ожидаете, выполняет последнюю из инструкций, которые вы дали при его создании: изменение шрифта цвет активной ячейки на синий.

Вы, вероятно, будете счастливы прочитать, что второй оператор With… End With короче первого.

Начнем построчное объяснение…

1. Строка №1: С Selection.Font.

Как я объяснил выше, это начало оператора With… End With, где «With» сообщает Excel, что следующие операторы работают с объектом, который здесь появляется.

В данном случае это объект Selection.Font.

Итак, что такое «Выбор.Шрифт."?

«Выбор» - это текущий выбор, который в макросе Best_Excel_Tutorial является активной ячейкой, тогда как «Шрифт» (что неудивительно) является шрифтом.

Другими словами, Selection.Font означает шрифт текста в активной ячейке. Следовательно, «With Selection.Font» в основном информирует Excel о том, что все строки кода, являющиеся частью оператора With… End With, ссылаются на шрифт активной ячейки.

2. Строка №2: .Color = -4165632.

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

«Цвет» назначает цвет, тогда как число (в данном случае -4165632) является фактическим цветовым кодом, который в данном случае является синим.

3. Строка № 3: .TintAndShade = 0.

Этот оператор в точности совпадает с одной из строк в операторе With… End With выше. Он предписывает Excel не осветлять и не затемнять цвет шрифта.

Поскольку «TintAndShade» определяет осветление или затемнение цвета, когда он равен 0 (как здесь), Excel не осветляет и не затемняет цвет шрифта активной ячейки.

4. Строка № 4: оканчивается на.

Это конец оператора With… End With.

Следовательно, любые строки кода ниже этой не ссылаются на шрифт активной ячейки.

Элемент № 8: End Sub

Операторы End завершают выполнение чего-либо, в данном случае процедуры Sub.

Это означает, что после того, как Excel выполнит эту строку кода, созданный вами макрос перестает выполняться.

Другими словами, этот является концом кода вашего первого макроса Excel .

Несколько заключительных советов относительно того, как узнать о макросах Excel

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

  • Измените части кода VBA, чтобы попробовать что-то новое.

    Например, замените «ActiveCell.FormulaR1C1 =« Это лучший учебник по Excel »» на «ActiveCell.FormulaR1C1 =« Я люблю Microsoft Excel »».


    Вы также можете изменить числа, определяющие заполнение ячеек и цвет шрифта. Например, измените «.Color = 255» на «.Color = 10» и «.Color = –4165632» на «.Color = 200».


    Вернитесь в главное окно Excel и снова запустите макрос (например, используя назначенное вами сочетание клавиш «Ctrl + Shift + B») и проверьте, что происходит.

    Результаты существенно изменились, не так ли? Разве не интересно, какое значение может иметь пара небольших элементов в коде VBA?

  • Удалите определенные операторы из кода, чтобы увидеть, как они влияют на макрос.

    Например, , что, по вашему мнению, произойдет, если вы удалите «Selection.Columns.AutoFit»?


    Попробуйте сами.

    Снова вернитесь в Excel и запустите макрос еще раз с этим удалением.

    Что случилось? Вы этого ожидали?

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

    Как?

    1. Запишите макросы Excel, отличные от примера, приведенного в этом руководстве по макросам Excel для начинающих. Попробуйте что-нибудь новое и посмотрите, что получится.

    2. Откройте VBE и построчно просмотрите код VBA, чтобы понять, какова цель каждого оператора.

    Возможно, даже лучше, если у вас достаточно большой экран (или два монитора), - это последовать совету Джона Уокенбаха из Библии Excel 2013 и…

    (…) настроить свой экран так, чтобы вы могли видеть код, который создается в окнах редактора VB.

  • Читайте и изучайте. Вы можете, например, просмотреть Архивы электронных таблиц Power, чтобы найти все написанные мной руководства по Excel, касающиеся VBA и макросов.

Заключение

Еще раз поздравляю!

Пройдя это руководство по макросам Excel для начинающих, вы создали свой первый макрос и поняли, что за ним стоит код VBA .

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

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

Применяйте на практике последние советы о том, как узнать о макросах, которые я предоставил в разделе выше.Создавайте макросы, изучайте стоящий за ними код VBA и пробуйте разные вещи, чтобы увидеть, что происходит.

Если вы продолжите изучать и практиковать Visual Basic для приложений, включая темы, которые я освещаю в других руководствах по Excel VBA в Power Spreadsheets, вы скоро сможете, среди прочего:

  • Понимать гораздо лучше, что вы делали, пока создание вашего первого макроса и принцип работы макроса Best_Excel_Tutorial.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *