Самоучитель по работе с макросами в Excel. Макросы для начинающих в excel на примерах
Макросы в Excel для начинающих
Макросы в Excel для начинающих
Никогда не программировавшим часто трудно сразу читать примеры программ, нужно сначала понять основные принципы, узнать слова, которыми оперируют программисты. Эта страница специально создана для самых начинающих.
Итак, что такое макросы и как их писать?
Макросы - это программы в Excel. Макросы могут делать всё, что может делать пользователь вручную. Их полезно использовать для обработки данных или для автоматизации стандартных действий.
Макросы пишутся на языке VBA - Visual Basic for Applications. Эту аббревиатуру стоит запомнить и использовать в поисковых запросах при поиске нужной информации. VBA - объектно-ориентированный, иерархический язык. Это значит, что управлять придется объектами, подчиненными друг другу. Например, книга Excel - объект. В ней есть листы, на листах есть ячейки. Листы, ячейки, диапазоны и многое другое - это объекты. Подчиненность можно примерно приравнять вложенности - например, ячейка вложена в лист, а лист в книгу.
С объектами можно производить ряд действий, например, открывать, активировать, выделять, удалять, копировать и многое многое другое.
У объектов есть свойства. Например, лист может быть видимым или скрытым, активным или неактивным. У ячейки множество свойств, также всем известных: заливка, границы, цвет и размер текста, выравнивание. Свойства, естественно, можно менять.
Итак, объекты "встроены" друг в друга и имеют различные свойства. Познакомимся с ними поближе.
Не будем здесь приводить весь список, потому что он огромен. Ограничимся тем, что понадобится даже на первом этапе.
Объекты:
Workbook - рабочая книга Excel.
Sheet - лист.
Range - диапазон.
Cell - ячейка.
Row - строка.
Column - столбец.
Действия с объектами
Activate - активировать, то есть, "поставить курсор". Активировать можно книгу, лист, ячейку.
Select - выделить. Выделять можно одну или несколько строк, один или несколько столбцов, диапазон или ячейку.
Delete - удалить. Удалить можно тоже строки и столбцы, диапазоны ячеек или одну ячейку, лист.
Copy - копировать.
И отдельно идет действие Paste - вставить. Если за всеми предыдущими действиями стоит слово "что?" (что активировать, что скопировать), то за словом вставить идет вопрос "куда?". Поэтому и при написании программы нужно указывать не что вставить, а куда вставить.
Кроме выполнения программ Excel может "отдавать информацию" по заданным командам. Вот несколько примеров таких команд:
Sheets.Count - выдает количество листов в книге.
Date - выдает сегодняшнюю дату в формате строки.
Len("строка") - выдает длину строки в количестве символов. В этом примере длина равна 6.
Теперь нужно пару слов сказать о типах данных (переменных).
Для начала достаточно знать одно: данные бывают числами, а бывают строками, то есть текстом. С числами можно совершать одни действия (складывать и т.д.), со строками - другие (узнавать первый символ, например).
Все строковые величины в VBA пишутся в кавычках. Все названия/имена книг или листов - это текст, то есть строковая величина, поэтому всегда должна обрамляться кавычками.
И числа, и строки можно присваивать переменным.
Например:
i=1
s="Привет"
Можно переопределять значения переменных, например, так:
i=i+10
s=s & ", мир!"
После этого i=11, а s="Привет, мир!".
Тут мы столкнулись с первой операцией над строковыми величинами. Знак & означает, что две строки нужно соединить. Порядок важен: если написать
s=", мир!" & s, то получим, s=", мир!Привет".
Так как переменная s уже хранит в себе кавычки, при её использовании не нужно заключать её в кавычки. Наоборот, именно отсутствие кавычек подскажет Excel'ю, что воспринимать её нужно как переменную, а не как текст. То есть, записи:
s="Привет, мир!"
h=s
и
h="Привет, мир!"
дадут одинаковый результат - присвоят переменной h значение "Привет, мир!"
Но запись
s="Привет, мир!"
h="s"
присвоит переменной h значение "s".
Надо сказать, что объекты в Excel иногда пишут в единственном числе, иногда во множественном. Как запомнить, в каком случае что используется? Можно использовать такое правило: всё, чего в Excel'е много, пишется во множественном числе, всё, что в единственном экземпляре - в единственном. В Excel'е много книг, много листов и очень много ячеек. Все они одинаковы для Excel'я и отличить их можно только по имени или координатам. Поэтому в программе используется множественное число. Например:
Workbooks("Книга1").Activate
Sheets("Лист1").Copy
Rows(1).Delete
Ячейки определяются по координатам: первая - номер строки, вторая - столбца.
Например, команда
Cells(1,1).Activate
поставит курсор в левую верхнюю ячейку.
"Обращаться" к книгам и листам можно не только по имени, но и по номеру. Чаще всего это нужно именно в работе с листами, когда нужно перебрать все. При обращении по номеру, номер не нужно заключать в кавычки
Единственное число используется, например, при ссылке на активную ячейку или лист, потому что, очевидно, активной может быть только одна ячейка или один лист. Например, "запомним" номер строки активной ячейки
i=ActiveCell.Row
Ссылаясь на объект не всегда нужно указывать полный путь к нему: если не указаны объекты более высокого уровня, макрос будет выполняться в активном на данный момент месте.
Например, команда
Cells(1,1).Copy
скопирует верхнюю левую ячейку на активном листе.
А команда
Sheets("Лист1").Cells(1,1).Copy
скопирует верхняя левую ячейку на листе "Лист1", независимо от того, активен этот лист сейчас или нет.
После этого вы уже можете писать макросы :)
Но лучше прочитайте еще про циклы и условный оператор, а потом про то, что такое коллекции объектов и что они нам могут дать.
webhamster.ru
Как начать писать макросы в MS Excel 2007
Статья предназначена для людей, которые хотят научиться писать программы на встроенном в Excel Visual Basic (VBA), но абсолютно не знают что это такое.
Для начала - несколько слов о том, зачем это нужно. Средство VBA в MS Excel, представляет нам универсальный инструмент для быстрого и точного решения любых индивидуальных пользовательских задач в MS Excel. Можно конечно использовать и встроенные в MS Excel функции которых великое множество, однако они далеко не всегда решают поставленную задачу. Итак, создадим для примера простейшую программу. Будем использовать MS Excel 2007. Откройте MS Excel, нажмите "сохранить как" и сохраните файл Вашей программы нажав "Книга ексель с поддержкой макросов".
Далее необходимо включить вкладку "Разработчик". Для этого нажимаем "Параметры Excel" Ставим галочку на "Показывать вкладку "Разработчик" на ленте"
После этого на ленте, в верху листа Excel, появится вкладка "Разработчик", которая содержит в себе инструменты для создания VBA макросов. Представим себе небольшую задачу - допустим мы имеем 2 числа, нам необходимо их сложить и по полученной сумме получить значение из нашей таблицы. Поставим в ячейки Листа1 следующие значения:
Далее перейдем на Лист1, нажмем на вкладку "Разработчик", "Вставить", на ней выберем кнопку и нарисуем кнопку на Листе1, после чего сразу появится окно "Назначить макрос объекту", в котором выбираем "Создать" После этого откроется редактор Visual Basic, и автоматически напишется наименование процедуры, которая будет выполняться при нажатии кнопки. Под названием процедуры впишем следующий код:
Код выполнит следующие действия:
- MsgBox ("Это мой первый Макрос!") - сообщение
- Переменной q присваивается значение ячейки на Листе1, с координатами 2 строка, 2 столбец
- Переменной w присваивается значение ячейки на Листе1, с координатами 3 строка, 2 столбец
- В ячейку на Листе1, с координатами 4 строка, 2 столбец, записывается сумма q+w
Далее получим значение столбца В из Листа2, которое расположено на той же строке где значение нашей суммы совпадает с значением столбца А. Введем следующий код:
и получим при нажатии на кнопку следующий результат:
из результата видно что макрос подобрал число из таблицы на Листе2 в соответствии с нашей суммой. Не буду вдаваться в подробности этого хитрого кода, так как цель данной статьи - начать писать макросы. Для VBA в интернете есть масса ресурсов, с примерами и разъяснениями, хотя для автоматизации расчетов вполне хватит объема информации в справке.
Таким образом с помощью VBA возможно автоматизировать расчет любой сложности и последовательности. Справочные таблицы можно копировать из различной литературы на отдельные листы Excel и писать последовательный расчет с кнопками.
slpl.ru
Руководство и примеры работы с макросами в Excel
Многие люди думают, что макросы в Excel – это очень трудно, но это не так. В этой статье Вы найдёте несколько интересных и простых примеров, как можно автоматизировать Ваши повседневные задачи в Excel. Макрос – это программа на Visual Basic, созданная для того, чтобы автоматизировать задачи в Microsoft Office. В своих примерах я использую Excel 2010, но с таким же успехом Вы можете использовать Excel 2007.
Создаем макрос при помощи команды «Запись макроса»
- Для начала откройте вкладку View (Вид) на Ленте. В выпадающем списке Macros (Макросы) нажмите кнопку Record Macro (Запись макроса).Откроется диалоговое окно Record Macro (Запись Макроса).
- Задайте имя макросу (не допускаются пробелы и специальные символы), клавишу быстрого вызова, а также, где бы Вы хотели сохранить свой макрос. При желании, Вы можете добавить описание.
- С этого момента макрос записывает действия. Например, Вы можете ввести слово «Hello» в ячейку A1.
- Теперь снова нажмите иконку Macros (Макросы) и в раскрывшемся меню выберите Stop Recording (Остановить запись).
Доступ к записанному макросу можно получить с помощью команды View Macros (Макросы), которая находится на вкладке View (Вид) в выпадающем меню Macros (Макросы). Откроется диалоговое окно Macro (Макрос), в котором Вы сможете выбрать нужный. Дважды кликните по имени макроса, чтобы выполнить программу.
Кроме этого, Вы можете связать макрос с кнопкой. Для этого:
- На вкладке File (Файл) нажмите Options (Параметры) > Quick Access Toolbar (Панель быстрого доступа).
- В поле Choose commands from (Выбрать команды из) выберите All Commands (Все команды).
- Найдите команду Option Button (Кнопка), нам нужна та, что относится к разделу Form Control (Элементы управления формы). Выделите ее и нажмите Add (Добавить). Затем нажмите ОК, чтобы закрыть параметры Excel.
- Выберите команду, только что добавленную на Панель быстрого доступа, и начертите контур кнопки на рабочем листе Excel.
- Назначьте макрос объекту.
Примечание: Если у вас включена вкладка Developer (Разработчик), то получить доступ к элементам управления формы можно с нее. Для этого перейдите на вкладку Developer (Разработчик), нажмите на иконку Insert (Вставить) и из раскрывающегося меню выберите нужный элемент.
Не знаете, как отобразить вкладку Developer (Разработчик)? Excel 2007: жмем на кнопку Office > Excel Options (Параметры Excel) > Popular (Основные) и ставим галочку напротив опции Show Developer tab in the Ribbon (Показывать вкладку «Разработчик» на ленте). Excel 2010: жмем по вкладке File (Файл) > Options (Параметры) > Customize Ribbon (Настройка ленты) и в правом списке включаем вкладку Developer (Разработчик).
Цикл FOR
В следующем примере Вы увидите, как использовать цикл FOR. Цикл FOR позволяет нам выполнить повторение цикла с разными значениями. Давайте посмотрим, как можно заполнить числами от 1 до 5 ячейки A1:A5.
Для этого на вкладке Developer (Разработчик) нажмите Visual Basic. Дважды кликните по объекту из списка Microsoft Excel Objects, в котором должен быть сохранён макрос. Введите вот такой код:
Sub Macro1 () For n = 1 To 5 Cells(n, 1) = n Next n End SubСохраните файл. Чтобы выполнить макрос, перейдите View > Macros > View Macros (Вид > Макросы > Макросы), выберите из списка название нужного макроса и нажмите Run (Выполнить).
Следующий код отображает фразу «Hello World» в окне сообщений Windows.
Sub MacroName() MsgBox ("Hello World!") End SubВ следующем примере мы создаём сообщение с выбором Yes (Да) или No (Нет). Если выбрать вариант Yes (Да), то значение ячейки будет удалено.
Sub MacroName() Dim Answer As String Answer = MsgBox("Are you sure you want to delete the cell values ?", vbQuestion + vbYesNo, "Delete cell") If Answer = vbYes Then ActiveCell.ClearContents End If End SubДавайте проверим этот код. Выделите ячейку и запустите макрос. Вам будет показано вот такое сообщение:
Если Вы нажмёте Yes (Да), значение в выделенной ячейке будет удалено. А если No (Нет) – значение сохранится.
Конструкция IF
В Microsoft Excel Вы также можете использовать конструкцию IF. В этом коде мы будем раскрашивать ячейки в зависимости от их значения. Если значение в ячейке больше 20, то шрифт станет красным, иначе – синим.
Sub MacroName() Dim CellValue As Integer CellValue = ActiveCell.Value If CellValue > 20 Then With Selection.Font .Color = -16776961 End With Else With Selection.Font .ThemeColor = xlThemeColorLight2 .TintAndShade = 0 End With End If End SubДля проверки этого кода выберем ячейку со значением больше 20:
Когда Вы запустите макрос, цвет шрифта изменится на красный:
При выполнении второго условия шрифт станет синим:
Конструкция CASE
Вы также можете использовать конструкцию Case, чтобы связать выполнение действия с появлением определённого значения в ячейке. В следующем примере отображается сообщение, содержание которого зависит от указанного возраста человека.
Sub MacroName() Dim CellValue As Integer CellValue = ActiveCell.Value Select Case CellValue Case 60 To 200 MsgBox "The person is old" Case 30 To 59 MsgBox "The person is adult" Case 18 To 29 MsgBox "The person is young" Case 0 To 17 MsgBox "The person is a child" Case Else MsgBox "Unknown age" End Select End SubЧтобы протестировать этот пример, Вы должны выбрать ячейку со значением и запустить макрос. Если значение выбранной ячейки, к примеру, равно 44, то будет показано вот такое сообщение:
Заключение
Макросы – это отличный способ автоматизировать задачи в Excel. Эта статья показывает лишь немногие примеры того, что можно сделать при помощи макросов.
Оцените качество статьи. Нам важно ваше мнение:
office-guru.ru
Как создать макросы в Excel: инструкция для начинающих
Если в программе MS Excel вы часто выполняете сходные действия, то облегчить вам жизнь помогут макросы.
Макрос в Excel — это работающая внутри Excel программа, зачастую созданная самим пользователем, которая помогает автоматизировать выполнение частых действий. Огромный плюс макросов в Excel — для их создания не требуется знание языков программирования.
Конечно, зная Visual Baisic for Applications, вы можете создавать более сложные и совершенные приложения, однако для большинства пользователей достаточно уметь включить запись макроса, выключить её и знать, как его запустить.
Инструкция для начинающих
Для удобства работы с макросами надо включить вкладку «Разработчик» на ленте. Для это зайдите в «Параметры» программы», там выберите вкладку «Настройка ленты» и в разделе «Основные вкладки» добавьте вкладку «Разработчик».Добавление панели «Разработчик»
Теперь попробуем создать макрос. Для это на вкладке «Разработчик» нажмите кнопку «Записать макрос». Откроется диалоговое окно, в котором вам предложат заполнить ряд полей. Нам сейчас важны поля «Имя макроса» и «Сочетание клавиш».Запись макроса
Дайте макросу имя и присвойте сочетание клавиш для вызова. После нажатия кнопки «OK» начнётся запись макроса. Проделайте набор различных действий (например, введите текст в ячейку). После этого нажмите «Остановить запись». Макрос записан.
Запустить полученный макрос можно несколькими способами. Вы можете нажать присвоенное макросу ранее сочетание клавиш, выполнение макроса начнётся незамедлительно. Ещё вы можете нажать кнопку «Макросы» на вкладке «Разработчик». Перед вами откроется список доступных макросов, выберите нужный по имени и запустите его.
Выбор макросаВыполнение макросов можно присваивать элементам управления формы, картинкам и другим объектам. Для этого по объекту следует кликнуть правой кнопкой мыши и выбрать «Назначить макрос».
Макросы могут иметь огромную функциональность и значительно расширять возможности пользователя, но для этого придётся серьёзно потрудиться над их изучением. Однако простейшие макросы вы можете писать уже сейчас.
otomkak.ru
Самоучитель по работе с макросами в Excel
Возможности Excel не ограничиваются набором встроенных функций. При помощи написания макросов Вы можете создавать собственные функции для выполнения нестандартных задач в Excel.
Например, самостоятельно написанный макрос можно привязать к иконке и вывести на Ленту меню. Либо Вы можете создать пользовательскую функцию (UDF) и использовать ее точно так же, как и остальные встроенные функции Excel.
Макрос — это компьютерный код, написанный для Excel на языке программирования Visual Basic for Applications (VBA). Базовые понятия языка программирования VBA рассматриваются на нашем сайте в Учебнике по VBA. Однако прежде чем приступить к написанию кода VBA, рекомендуем познакомиться с уроками, в которых рассматривается безопасность макросов Excel и редактор Visual Basic.
Настройка разрешения для использования макросов в Excel
В Excel предусмотрена встроенная защита от вирусов, которые могут проникнуть в компьютер через макросы. Если хотите запустить в книге Excel макрос, убедитесь, что параметры безопасности настроены правильно.
Кликните эту ссылку, чтобы узнать больше о параметрах безопасности макросов в Excel
Редактор Visual Basic
В Excel есть встроенный редактор Visual Basic, который хранит код макроса и взаимодействует с книгой Excel. Редактор Visual Basic выделяет ошибки в синтаксисе языка программирования и предоставляет инструменты отладки для отслеживания работы и обнаружения ошибок в коде, помогая таким образом разработчику при написании кода.
Кликните эту ссылку, чтобы узнать больше о редакторе Visual Basic в Excel
Запись макросов
Инструментарий Excel для записи макросов – это отличный способ эффективно выполнять простые повторяющиеся задачи. Также его можно использовать, как вспомогательное средство при написании более сложных макросов.
Кликните эту ссылку, чтобы узнать больше о записи макросов в Excel
Учебник Excel VBA
Для тех, кто только начинает осваивать язык программирования Excel VBA, предлагаем небольшой вводный курс по Visual Basic for Applications.
Кликните эту ссылку, чтобы перейти к учебнику Excel VBA
Оцените качество статьи. Нам важно ваше мнение:
office-guru.ru
Макросы в Excel
Разделы: Информатика
Цели урока:
- Образовательная: познакомить с понятием макроса и макровируса. Познакомить со способами создания и выполнения макроса.
- Развивающая: раскрыть творческие и эстетические способности учащихся. Научить записывать и применять макросы на практическом примере “Цветная схема узора для вышивания”.
- Воспитательная: воспитание личной ответственности за безопасность при работе с макросам.
Тип урока: комбинированный.
Оборудование: проектор, компьютер, доска.
План урока:
- Организационный момент (1 мин.).
- Повторение пройденного материала (3 мин.).
- Объяснение нового материала (15 мин.).
- Практическое выполнение задания (20 мин.).
- Подведение итогов, домашнее задание (1 мин.).
ХОД УРОКА
I. Организационный момент
Проверка присутствующих.
II. Повторение (беседа)
Что такое условное форматирование?
Для чего оно применяется?
Сколько и какие условия оно включает?
III. Объяснение нового материала
– Для использования многократных действий в приложении Excel предусмотрено использование команд, сохраненных вместе с книгой. Такой набор команд называют макросом.Макрос – это набор команд, сохраненный вместе с документом и выполняющий их при загрузке документа или по требованию пользователя.Макросы являются основой написания вирусов.Для защиты от макро-вирусов нужно:
1) Установить антивирусную программу.2) Установить высокую или среднюю (рекомендуется) безопасность перед загрузкой документа с макросом.
Если вы уверены в ваших макросах, то можно установить низкую безопасность (не рекомендуется).Для установки уровня безопасности выберите команду меню Сервис-Макрос-Безопасность…Макросы можно записывать
- С помощью языка программирования Visual Basic for Application (VBA).
- С помощью встроенного записывающего редактора Сервис-Макрос-Начать запись…
IV. Практическая работа
– Для выполнения практической работы “Цветная схема узора для вышивания” нам понадобятся макросы, которые запишут и сохранят в виде команд наши действия по условному форматированию ячеек. В начале работы на отдельном листе подготовим список цветов, которые будут использованы в схеме. Для этого запишем –
АЛГОРИТМ ЗАПИСИ МАКРОСА 1. Выделить три ячейки с условными номерами цветов, например – 1, 2, 3.2. Приготовиться к записи макроса: Сервис-Макрос-Начать запись…3. В диалоговом окне “Запись макроса” записать имя макроса, установить и запомнить комбинацию клавиш для быстрого выполнения макроса, выбрать “Эта книга” для сохранения макроса в вашем документе, вставить в содержание свою фамилию и нажать кнопку “Ок” для начала записи макроса.4. Выбрать команду Формат-Условное форматирование …5. В появившемся диалоговом окне установить три условия на заданные значения выделенных ячеек и в формате для шрифта и вида установить одинаковый цвет, например: для 1 – красный, для 2- синий, для 3- зеленый. По окончании работы нажать кнопку “Ок”.6. Остановить запись макроса: Сервис-Макрос-Остановить запись… |
– Точно также создать еще 2-3 макроса с другими номерами, каждый раз выделяя по три ячейки и выбирая другую комбинацию клавиш.
Рисунок 1
– Откройте редактор VBA, используя команду меню Сервис-Макрос-Редактор Visual Basic, и посмотрите команды записанных макросов.
Sub Макрос1()'' Макрос1 Макрос' Макрос записан 23.01.2006 '' Сочетание клавиш: Ctrl+q'Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="1"Selection.FormatConditions(1).Font.ColorIndex = 55Selection.FormatConditions(1).Interior.ColorIndex = 55Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="2"Selection.FormatConditions(2).Font.ColorIndex = 42Selection.FormatConditions(2).Interior.ColorIndex = 42Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="3"Selection.FormatConditions(3).Font.ColorIndex = 33Selection.FormatConditions(3).Interior.ColorIndex = 33End Sub
Sub Макрос2()'' Макрос2 Макрос' Макрос записан 23.01.2006'' Сочетание клавиш: Ctrl+w'Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="4"Selection.FormatConditions(1).Font.ColorIndex = 38Selection.FormatConditions(1).Interior.ColorIndex = 38Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="5"Selection.FormatConditions(2).Font.ColorIndex = 7Selection.FormatConditions(2).Interior.ColorIndex = 7Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="6"Selection.FormatConditions(3).Font.ColorIndex = 46|Selection.FormatConditions(3).Interior.ColorIndex = 46End Sub
Sub Макрос3()'' Макрос3 Макрос' Макрос записан 23.01.2006'' Сочетание клавиш: Ctrl+e'Selection.FormatConditions.DeleteSelection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="7"Selection.FormatConditions(1).Font.ColorIndex = 10Selection.FormatConditions(1).Interior.ColorIndex = 10Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="8"Selection.FormatConditions(2).Font.ColorIndex = 12Selection.FormatConditions(2).Interior.ColorIndex = 12Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _Formula1:="9"Selection.FormatConditions(3).Font.ColorIndex = 13Selection.FormatConditions(3).Interior.ColorIndex = 13End Sub
– Сделайте их сравнение и анализ. Ответьте на вопросы:
- Как вы думаете, что означают слова Sub (подпрограмма), End (конец), Selection (выделенный), FormatCondition(1) (1-е условное форматирование), Font (шрифт), Interior (интерьер, фон), ColorIndex (индекс/номер цвета), Add (добавить), Delete (удалить), Formula (формула)?
- Сможете ли вы изменить цвета в макросах? (нужно изменить номера после знака равенства)
- Сможете ли вы изменить номера для обозначения цветов? (нужно изменить номера в кавычках после Formula:=)
- Сможете ли вы написать (скопировать и изменить) дополнительный макрос для набора еще 3-х цветов, например, для 10, 11, 12?
– Перед выполнением макросов нужно определить схему узора на отдельном листе, заполнить диапазон ячеек условными номерами цветов, установить ширину столбцов равную высоте строк.
Рисунок 2
– Теперь можно выделять ячейки с номерами 1, 2, 3 (Как выделить разрозненные ячейки? – С помощью клавиши Ctrl) и для них выполнить записанный макрос, который можно вызвать через нажатие установленных для него комбинаций клавиш. Затем выделяем следующие ячейки с номерами 4, 5, 6 – и вызываем следующий макрос. И так далее, пока схема узора не будет закрашена. (Приложение)
Рисунок 3
Критерий оценки:
“Отлично”– использованы больше 2 правильно выполняемых макросов, цвет шрифта и цвет заливки совпадают, рисунок выполнен на высоком эстетическом уровне.
“Хорошо”– использован 1 макрос или один из макросов выполняется не верно или цвет шрифта и цвет заливки не совпадают или рисунок выполнен на среднем эстетическом уровне.
“Удовлетворительно”– использованы макросы, которые выполняют другие действия, цвет шрифта и цвет заливки не совпадают, есть пустые ячейки, рисунок выполнен на низком эстетическом уровне.
“Неудовлетворительно”– макросы не записаны должным образом, цвет шрифта и цвет заливки не совпадают, есть пустые ячейки, рисунок выполнен на низком эстетическом уровне или не закончен.
V. Подведение итогов
– Мы рассмотрели, как записать и использовать макросы для создания цветной схемы узора для рукоделия. Теперь смотрим, кто, как справился с практическим заданием, и оценим.
Объявление оценок.
VI. Домашнее задание
– Подготовить материал о макро-вирусах и способах защиты от них.
Поделиться страницей:xn--i1abbnckbmcl9fb.xn--p1ai
как работать с макросами, просто скачав их? « Не волнуйтесь, я сейчас все объясню!
Один из часто встречающихся вопросов на курсах по Microsoft Office Excel — «Как, не используя VBA, создавать макросы, облегчающие работу в Excel?»
Безусловно, совершенно необязательно хорошо знать VBA (visual basic for applications) для того, чтобы создать простые макросы в Экселе. Однако надо понимать, что при создании практически любого макроса по крайней мере читать код VBA (который, кстати, создается с автоматически при записи макроса с клавиатуры) и вносить в него минимальные изменения все-таки придется.
Тем не менее для «чайников», не желающих (или пока не готовых) изучать VBA, есть хорошая новость — профессионалы уже позаботились о вас и большинство макросов, которые новички только мечтают создать самостоятельно уже написаны и собраны в специализированные надстройки.
Об одной из таких надстроек я и хочу рассказать сегодня.
ASAP Utilities — надстройка для электронных таблиц Microsoft Excel, предназначенная для облегчения работы с программой и автоматизации рутинных, часто повторяемых действий. ASAP Utilities способна выполнять более трехсот функций и является сегодня одной из самых востребованных надстроек для Excel, позволяя десяткам тысяч пользователей сэкономить много часов драгоценного рабочего времени.
На чем можно сэкономить время при использовании этого комплекта макросов?
Вот только несколько самых популярных макросов, которые входят в состав ASAP Utilities. Вы можете в один клик мышки:
- Снять выделение с выбранных ячеек.
- Применить формулу для выделенных ячеек
- Выделять ячейки, удовлетворяющие конкретному условию: например, выбрать ячейки с числом больше 12 или все эритроциты
- Производить расширенную сортировку ячеек: например, сортировать по цвету
- Копировать настройки листа и параметры печати с одного рабочего листа (книги) в другой.
- Осуществлять визуальное управление: просто просматривайте книги, листы и легко меняйте их настройки
- Производить печать нескольких листов одновременно
- Изменять цвет каждой энной строки или столбца в выделенном диапазоне (цветовые полосы)
- Проводить импорт и экспорт книг и листов в файлы (TXT, CSV, DBF, XLS, GIF, JPG, HTML и т.д.)
- Производить экспорт выделенных ячеек в веб — как HTML таблицы (в том числе с сохранением форматов, цветов и т.п.)
- Назначать собственные кнопки-ссылки на утилиты, которые вы используете наиболее часто
Несколько примеров использования макросов в Excel при помощи утилиты ASAP Utilities
Удалить только четные строки в таблице
Есть ли способ удалить только четные строки в таблице? У меня есть более 6000 строк, и я хочу удалить только нечетные.
В форме выберите «even rows»(«четные строки»), затем «select» («выбрать»). При выборе этого щелкните правой кнопкой мыши на ячейку в свой выбор и выбрать «Delete…» («Удалить …»_ и выберите «Entire row» («Строка целиком»)
Автоматическая установка альтернативного цвета строк
Я люблю использовать «полосатые» таблицы. Это упрощает визуальный поиск данных. Могу ли я сделать так, чтобы цвета эти не сбивались при редактировании таблицы? Я не хочу, чтобы цвет строки менялся каждый раз, когда я вставляю, удаляю или перемещаю строки.
Создание оглавления со ссылками на каждый лист рабочей книги
Скопируйте длинный список имен файлов
У меня есть длинный список файлов (скажем, 240), которые мне нужно вставить в Excel. Например, оглавление CD-ROM. Копировать такой список целиком нельзя — можно только по одному. Как я могу автоматизировать эту работу при помощи макроса?
Как вырезать число из текста?
Как я могу получить числовое значение из ячейки: «прибыль $4,57»?
Затем выделите все, кроме цифр и десятичного разделителя — точки или запятой.
Удаление пробелов в ячейках с данными
Предположим, у вас есть список персонала, который хранится в базе данных. Иногда этот список экспортируется в Excel и рассылается сотрудникам отдела. В одной колонке — даты, когда каждый сотрудник работал. Если вы попытаетесь поработать со списком дат, то наверняка заметите, что даты не выровнены по правому краю, как обычно выравниваются числа. Это происходит потому что большинство ячеек, содержащих даты, имеют пробелы перед числами, что автоматически заставляет Excel переводить их содержимое в текстовый формат.
Иногда это один или два пробела, где-то больше, в некоторых ячейках вообще нет пробелов.Для того, чтобы сортировка списка работала правильно, необходимо вручную удалить пробелы перед датой, затем отсортировать список по дате.Если в списке более чем 500 записей, неужели нет лучшего способа удаления пробелов? Конечно есть — при помощи макроса удаления пробелов:
Извлечение только текста
Я пытаюсь извлечь только текст из столбца ячеек с различной текстовой и числовой информацией. Информация в некоторых ячейках начинается с цифры, в других — содержит только текст. Нет никакой закономерности, какие и сколько цифр располагаются перед текстом. макрос позволяет справиться с приведением информации в ячейках к одному виду очень просто:
или
Затем выберите все, кроме букв
Удаление начальных пробелов из ячейки
Часто бывает нужен макрос для удаления пробелов из ячейки. Например, это необходимо, если столбец содержит данные, импортированные из других приложений. К сожалению, при импорте данных в некоторые из ячеек помимо нужной информации добавляются пробелы — в начало или конец. Можно, конечно, удалять их вручную. но для удаления пробелов из большого количества ячеек может потребоваться несколько часов. ASAP утилита «Текст» удаляет начальные и конечные пробелы одним кликом.
Как очистить дубликаты в выделенном диапазоне
Предположим, есть таблица с данными по городам. Названия городов встречаются многократно. Нужно сделать столбец, в котором каждое название города встречается только один раз, а те места, где были дубликаты, оставить пустым. Есть макрос для этого? Конечно:
Печать столбца данных в несколько колонок на одной странице
Частая ситуация: В одном столбце таблицы есть список фамилий. Фамилии занимают, скажем, четверть страницы по горизонтали. Пусть в списке есть 200 записей, и вы хотите напечатать их в столбцы по 50. Простая печать из Excel заставит вас использовать для этого четыре страницы, большая часть поверхности которых останется пустой. Лучший способ — разделить список на четыре части с 1 по 50, с 51 по 100 и т.д. и разместить их в четыре колонки на один лист. Можно это слелать методом копи-песта (вырезая и вставляя), но это довольно трудоемкий процесс. Что еще я могу сделать? Конечно, использовать макрос:
Коррекция записи отрицательных чисел при импорте из текстового файла
При импорте часто возникает ситуация, что знак «минус» оказывается «не на своем месте», например 123- вместо -123. Можно ли это исправить? При помощи специального макроса — легко:
Удаление пустых строк
Есть ли простой и быстрый способ удаления пустых строк в большой электронной таблице? Конечно!
Есть специальный макрос, удаляющий лишнее:
Удаление строки целиком по условию значения в конкретной ячейке
Можно ли удалить строку, в столбце «С» которой значение, равное нулю? Легко:
Массированная вставка строк
У меня есть таблица, содержащая примерно 200 строк, и мне нужно, вставить пустую строку после каждой имеющейся строки.
Пробелы в ячейках
Очень часто, когда пытаешься работать с книгой Microsoft Excel, созданной другими пользователями сталкиваешься с непредсказуемым форматированием текста в ячейках. Например, пользователи часто не знают, как работает «Alt+Enter» и для того, чтобы в нужном месте сделать перевод строки, вбивают несколько пробелов. Визуально это дает нужную картинку, но, не дай вам Б-г работать с такой таблицей дальше.
К сожалению, в отличие от Microsoft Office Word, в Excel нет режима просмотра непечатных символов и понять, где эти пробелы наставлены, а где — нет очень сложно.
Приходится заходить в каждую ячейку, перемещать курсор и удалять обнаруженные лишние пробелы.
Между тем макрос в составе наших утилит сделает всю работу в автоматическом режиме
Как удалять строки на основе содержимого ячейки?
Естественно при помощи соответствующего макроса:
Окраска каждой второй строки в диапазоне
Удаление символа возврата каретки (Carriage Returns) в Excel
Чтобы удалить только мягкий перевод строки (тот, что получается при нажатии «Alt+Enter» используем следующий макрос:
Чтобы удалить все символы возврата каретки, Chr (10) и Chr (13):
И выберите «line breaks».
Как сделать затенение для каждой третьей строки?
Выберите цвет и установите шаг 3.
Как конвертировать числовые данные, импортированные в Excel из текстового формата в числовой?
При экспорте числовых данных в MS Excel часто бывает так, что формат данных сбивается. Excel определяет такие данные как текст. Даже если в ячейках располагаются числа, все действия, которые вы можете с ними производить — это операции над текстом. Единственный способ конвертировать текстовые данные в числовые заключается в необходимости перейти в режим редактирования содержимого ячейки (нажать F2) и нажатие клавиши ввод. Если вы знаете другой способ — подскажите. Впрочем, можно не искать — просто применить макрос:
Сортировка листов Excel по названию
Начало нулей не будет держать в поле при сохранении в качестве. CSV
При сохранении таблицы Excel как файла в формате .CSV (разделители запятые), нули, которые стоят в начале числовых данных, исчезают. Единственный способ сохранить их — это перевести сначала числовые данные в текстовый формат. В противном случае в .CSV файле все форматирование удалится. Есть ли способ сохранить ноль в числе ’08 ‘ вместо превращения его в «8» при сохранении в .CSV? Да, есть и такой макрос.
В «How to export» выберите «As formatted», и в «Format to export» выберите CSV.
Печать нескольких листов в одном задании на печать
Я хочу напечатать несколько листов (например Лист1, Лист4, и Лист5) в одном задание на печать. Это распространенная задача — когда в рабочей книге Excel много листов? на печать часто выводиться несколько из них. Конечно, не проблема вывести на печать по очереди все листы. Но настройка свойств печати занимает определенное время.
Вы можете воспользоваться макросом, чтобы напечатать всё одновременно.
Вернуть знак в диапазоне ячеек?
Предположим, что есть таблица, которая создается при помощи бухгалтерской программы. Программа выдает дебет как положительные числа и кредит как отрицательные числа. Есть ли способ, выделив группу ячеек, поменять знак числам — отрицательные сделать положительными и наоборот? Вообще-то есть несколько способов сделать это. Можно, например, попросту умножить все значения на -1. Или воспользоваться макросом:
или
Удаление пробелов в конце
Я экспортировал таблицу SQL базы данных в текстовый файл и теперь необходимо кое-что править в ней при помощи Excel. Каждое поле отделено запятой. Однако, таблица должна иметь фиксированную длину поля, и программа дополнила записи в каждой ячейке пробелами в конце каждой области. Я хочу удалить лишние пробелы. Есть такой макрос:
(Примечание: этот макрос используется также для удаления пробелов каждой ячейке).
Авто-именование листов?
У меня есть список восьмизначных чисел (около 200 чисел), например, номера счетов. Мне нужен отдельный лист для каждого номера счета. Есть ли способ взять каждое число, вставить лист и назвать его в соответствии с числом ? Да, при помощи макроса это легко можно сделать. Выделите ячейки с числами, после чего:
Запрос при печати очень длинных списков
Я довольно долго Excel листа речь идет о 800-то строк, но Есть не слишком много столбцов. Как я могу сделать это Подведение итогов и печати, что, как правило, 2 страницы на одной странице? Параметры принтера не работают право, и я получаю это будет ужасно мало, когда я пытаюсь изменить эти и, чтобы соответствовать. А кто из вас знает, как я мог это сделать? Я вполне уверен, что это действительно простая задача, и я просто никогда не было бы использовать на все это задолго до того, или заботятся об управлении его так, что это может быть сделано еще раз.
Массовое удаление гиперссылок
Я хочу удалить 1200 гиперссылки, можно ли это сделать массово? Да, при помощи макроса в разделе веб:
Автоматизация именования листов
В Excel у меня есть книга с 13 листами. Мне нужно автоматизировать наименование листов так, чтобы название каждого листа соответствовало содержимому конкретной ячейки. Например, если содержимое ячейки «2009 год»,лист должен называться должна быть «2009 год». Если содержимое этой ячейки изменяется на 2010, то и название листа изменяется соответственно. при помощи макросов это выполняется очень просто:
Защита нескольких листов одним кликом
Есть ли способ защитить листов без необходимости делать каждый из них в отдельности?
Газетные столбцы при печати
У меня есть длинный список данных, состоящий из трех узких столбцов. При печати листа, я хотел бы повторить набор из трех столбцов несколько раз на странице (так же, как в телефонной книге), чтобы предотвратить лишний расход бумаги. Вот вам макрос:
Изменение ссылок в диапазоне ячеек на абсолютные ссылки
есть хороший способ изменить в таблице формулы с относительными ссылками на ячейки на абсолютные ссылки. Если кто-нибудь знает как это сделать, не выделяя формулу в каждой ячейке и редактируя каждое значение вручную? Вот вам макрос, который это может:
Показать скрытые листы
Есть ли способ показать несколько листов за один раз без кода?
Сохранить выделение как JPEG
Я только что купил мобильный телефон, который позволяет мне для просмотра JPEG изображений. Я хотел бы носить с собой некоторую информацию, которая у меня хранится на листах Excel. Могу ли я конвертировать лист или отбор на лист в формат JPEG изображения?
Впрочем, нужно помнить, что, когда вы используете не слишком много цветов GIF дает гораздо лучшее качество.
Ну, и в завершение статьи — чуть не забыл — ASAP Utilities бесплатны для некоммерческого использования. так что загружайте на здоровье и пользуйтесь этими макросами совершенно бесплатно.
Метки:Excelshperk.ru