Как создавать, изменять и выполнять макросы в excel
Содержание:
- Введение
- 8) Изменение цвета внутри и шрифтов
- Запись макроса
- Изменение содержимого ячеек
- Макросы эксель для чайников
- Краткое руководство: создание макроса
- Отмена активной команды
- Пример 2
- Пример 6
- Вариант 1: Автоматическая запись макросов
- Как начать
- Понятие макроса
- Макрос Excel: пример 1
- Атанас Йонков Блоггер, Веб-разработчик yonkov.atanas@gmail.com
- Пример использования макросов №1
Введение
Зачастую нам приходится выполнять одни и те же действия в Excel большое количество раз. C такой «рутинной работой» рано или поздно сталкивается почти каждый пользователь Excel — формирование ежедневных и еженедельных отчетов, обработка однообразных данных и т.д.
Например, Вам каждую неделю присылают отчет по продажам, который необходимо обработать, произвести некоторые расчеты, составить сводную таблицу и получить итог по результатам недели. Предположим, что на всю работу Вы тратите 3 часа, с помощью разработки и создания макроса Вы можете сократить время выполняемой работы до нескольких минут.
Макрос в Excel — это программа, записанная на языке программирования Visual Basic for Applications (VBA), которая выполняет определенную последовательность действий.
8) Изменение цвета внутри и шрифтов
Этот макрос изменяет цвета внутри и у источника ячеек в соответствии с буквой ячеек.
Sub Colorir_interior_letra () Для N = 1 до диапазона («O65536»). End (xlUp) .Row
Выберите диапазон шкалы («O» и N) Случай “А” Диапазон («O» и N) .Interior.ColorIndex = 3 Диапазон («O» и N) .Font.ColorIndex = 1
Случай “B” Диапазон («O» и N) .Interior.ColorIndex = 4 Диапазон («O» и N) .Font.ColorIndex = 2
Случай “C” Диапазон («O» и N) .Interior.ColorIndex = 5 Диапазон («O» и N) .Font.ColorIndex = 3
Случай “D” Диапазон («O» и N) .Interior.ColorIndex = 7 Диапазон («O» и N) .Font.ColorIndex = 12
Case Else Диапазон («O» и N) .Interior.ColorIndex = 6 Диапазон («O» и N) .Font.ColorIndex = 4 End Select
Запись макроса
Теперь произведем саму запись. Выделите любую ячейку, которой необходимо задать стиль (это может быть любая ячейка, главное не меняйте ее во время записи). Перейдите на вкладку «Вид», найдите область «Макросы». Раскройте меню, кликнув по стрелочке, и выберите пункт «Запись макроса»
Не обращайте внимание на появившееся окно, его параметры будут рассмотрены дальше, просто нажмите кнопку «OK»
Установите границы, цвет заливки, курсивное начертание текста и шрифт Times New Roman. Остановите запись, используя то же меню. Сейчас там должен находиться пункт «Остановить запись», – выберите его.
Изменение содержимого ячеек
Для обозначения диапазонов, в том числе и отдельных ячеек, в VBA Excel имеется ключевое слово «Range». Ячейке A1 на рабочем листе будет соответствовать выражение «Range(“A1”)» в коде VBA Excel.
Пример 4
1 |
PublicSubPrimer4() ‘Объявляем переменную x Dimx ‘Присваиваем значение переменной x x=125.61 ‘Присваиваем ячейке A1 Range(«A1»)=x ‘Присваиваем значение ячейке B1 Range(«B1»)=356.24 ‘Записываем в ячейку C1 Range(«C1»)=Range(«A1»)+Range(«B1») EndSub |
Скопируйте процедуру этого примера в стандартный модуль и запустите на выполнение. Перейдите на активный рабочий лист Excel, чтобы увидеть результат.
Макросы эксель для чайников
Макрос — это программа, автоматизирующая выполнение различных часто повторяющихся операций. Понятие макроса и управление его записью и применением аналогичны рассмотренным в текстовом процессоре Word.
Основной задачей пользователя является аккуратное выполнение требуемой последовательности операций в реальной таблице при включенном макрорекордере. Макрорекордер преобразует выполняемые действия в последовательность команд языка VBA.
Работая с книгой Excel, пользователь может записать несколько макросов. Все они сохраняются в VBA-модуле. Запуск макроса выполняется одним из трех способов:
- с помощью “горячих” клавиш;
- посредством выбора имени макроса в меню;
- щелчком мыши по графическому объекту, связанному с макросом.
Начало записи макроса
- Обратитесь к меню Сервис/Запись макроса. /Начать запись. .
- В окне “Запись макроса” укажите имя макроса.
- Если запуск макроса планируется через меню или “горячие” клавиши, то нажмите кнопку “Параметры” и задайте имя пункта меню или (и) сочетание клавиш.
- Нажмите “Ok” . Признак начала записи — появление небольшого окна с кнопкой “Остановить запись” .
Запись макроса
Начинать запись макроса следует после предварительного планирования действий. Рекомендуется потренироваться в выполнении записываемых операций без запуска макрорекордера. Если при записи выполнено неверное действие, следует отменить его, нажав кнопку “Отменить” на основной панели инструментов.
Завершение записи
- Нажмите кнопку “Остановить запись” .
- Если запуск макроса планируется с помощью графического объекта, то выберите требуемый объект на панели “Формы” и разместите его на рабочем листе. Для вызова указанной панели следует обратиться к меню Вид/Панели инструментов. .После размещения объекта типа “Кнопка” откроется окно “Назначить макрос объекту” , в котором требуется указать имя макроса и нажать “Ok” . Для других объектов необходимо щелкнуть по нему правой кнопкой мыши, после чего из выпадающего меню следует выбрать пункт “Назначить макросу” и указать связь с макросом.
- Опробуйте действие макроса, предварительно восстановив исходное состояние таблицы.
Пример записи макроса
Пусть требуется для выделенного диапазона ячеек, содержащих числа, установить режим форматирования в числовом виде с точностью до одного десятичного знака. Соответствующий макрос должен запускаться с помощью графического объекта “Кнопка”.
Выделить диапазон клеток, в котором задается формат
Важно сделать это до запуска макрорекордера, а не после, поскольку макрос должен быть применим для любого выделенного участка. В противном случае он будет форматировать только один диапазон.
Запустить макрорекордер.
Обратиться к меню Формат/Ячейки
и на вкладке “Число” выбрать числовой формат и “Число десятичных знаков” — 1.
Щелкнуть мышью на любой ячейке, чтобы снять выделение диапазона.
Нажать кнопку “Остановить запись” .
Вызвать панель “Элементы управления” , щелкнуть по объекту “Кнопка” и, установив указатель мыши на свободное место листа, “растянуть” объект. Сменить надпись на кнопке можно двойным щелчком мыши по стандартной надписи, но если объект выделен. Выделяется объект правой кнопкой мыши и нажатием клавиши Esc для закрытия всплывающего меню форматирования объекта.
В окне “Назначить макрос объекту” указать имя макроса, связываемого с кнопкой и нажать “Ok” .
Щелкнуть мышью вне объекта “Кнопка” , чтобы подготовить макрос к работе.
Восстановить исходные данные и опробовать работу макроса для различных выделяемых диапазонов.
На рисунке показан диапазон C1:E2, преобразованный в требуемый формат макросом, запускаемым кнопкой с надписью “Десятичный формат”.
Краткое руководство: создание макроса
подобное).Все, что находится между окнах придется смириться: пользовательских функций позволяетAlt+F8в строке состояния снова и снова, на ленте отображается создания макроса его вычислительные мощности, а содержимого трёх ячеек способами: где ваш курсор ALT+F8). Появится окно окне Мастера функций Excel и выберитеPersonal.xlsЕсли во время записиSubМакросы (т.е. наборы команд автоматизировать эти операции,
(одновременно нажмите клавиши в Excel 2007 просто запуская этот вкладка можно отредактировать, чтобы значит ускорить работу. (=C4+C5+C6).автоматически; позиционируется, когда вы со списком записанных ( команду, которая используется как макроса макрорекордером выи
на языке VBA) перекладывая монотонную однообразнуюAlt и более новых макрос. Это гораздоРазработчик изменить выполняемые им Это достигается путемПосле этого, жмем навручную. начинаете запись макроса! макросов и кнопками
Процедура
Настройка панели быстрого доступа хранилище макросов. Все ошиблись — ошибкаEnd Sub хранятся в программных работу на плечии версиях: эффективнее, чем выполнять. По умолчанию вкладка действия. |
отказа от обновления кнопку «Остановить запись».
|
); в Excel 2003: одни и тене видна, поэтому месяц создавать отчет выполнения вычислительных действий. из кнопки «Запись действия в программе ячейке A1, ваш увеличить производительность труда::загружаются в память на кнопку отмены будут выполняться при можем создать любое в вашей работе В появившемся списке макросовНажмите же действия вручную. необходимо выполнить указанные для главного бухгалтера. Чтобы возобновить обновление макроса», после включения Microsoft Excel, которые первый макрос лучше |
Дальнейшие действия
-
пользователя в десяткиПосле выбора функции выделяемЗатем в открывшемся окне при старте Excel
-
последнего действия (Undo) запуске макроса. В количество программных модулей
Процедура
может стать необходимость выберите тот, который СтопЧтобы записать макрос, нужно ниже действия. Требуется выделить красным после выполнения макроса, записи. выполняете в данный записывать после нажатия раз. Но чтобы
|
(с суммой, дляМакросы
|
= True» макрос, кликаем в эту запись. ДанныйПример: Представьте себе, что 100% следует соблюдать НДС) как в кнопки любой книге. возрвращает Вас в желтым цветом (код любое количество макросов. Например функцию сборкиыполнить макрос. Теперь кодВид Параметры Для этого можноДобавим также команду «Application.Calculation том же блоке способ очень легкий, каждый месяц вы простые правила, которые случае с обычнойДобавить (Add) |
Дальнейшие действия
После включения записи и предыдущее состояние, но = 6) и Доступ ко всем данных с разных(Run).
support.office.com>
Отмена активной команды
Если кнопка в интерфейсе пользователя нажата, макрос, назначенный ей, все равно выполняется в текущем контексте программы. Это значит, что макрос будет пытаться ответить на текущий запрос. Если требуется убедиться, что ни одна команда не активна при выполнении макроса, поставьте перед макросом префикс последовательности команд^ C. Для отмены большинства команд достаточно ввести ^C один раз; для возврата к командной строке из команды простановки размеров необходимо ввести ^C^C>;>^C^C^C. ^C^C обеспечивает отмену большинства последовательностей команд, поэтому рекомендуется широко использовать эту последовательность.
Пример 2
Эта процедура перечисляет все значения числовой последовательности Фибоначчи, вплоть до 1000. В этом примере приводятся следующие возможности макросов Excel:
- Объявление переменных.
- Цикл Do While.
- Ссылки на ячейки текущего листа Excel.
- Условный оператор.
‘ Подпрограмма для перечисления всех значений последовательности Fibonacci для всех значений ниже тысячи
Sub Fibonacci()
Dim i As Integer ‘ счетчик для позиции в серии значений
Dim iFib As Integer ‘ сохраняет текущее значение в серии
Dim iFib_Next As Integer ‘ сохраняет следующее значение в серии
Dim iStep As Integer ‘ хранит размер следующего шага
‘ Инициализация переменных variables i и iFib_Next
i = 1
iFib_Next = 0
‘ Цикл Do While, который исполняется до тех пор, пока номер
‘ числа в последовательности Фибоначчи меньше 1000.
Do While iFib_Next < 1000
If i = 1 Then
‘ Специальный случай для первой записи в серии
iStep = 1
iFib = 0
Else
‘ Сохраняется следующий размер шага, перед перезаписью
‘ текущей записи в серии
iStep = iFib
iFib = iFib_Next
End If
‘ Печать текущего значения последовательности Фибоначчи для столбца А
‘ текущего листа
Cells(i, 1).Value = iFib
‘ Вычисление следующего значения последовательности и увеличение
‘ маркера позиции на 1
iFib_Next = iFib + iStep
i = i + 1
Loop
End Sub
Пример 6
Следующая подпрограмма демонстрирует, как обрабатывать ошибки с помощью операторов OnError и Resume. Также в этом коде описывается, как открывать и читать данные с файла.
‘ Подпрограмма, для для установки определенных значений
‘ в ячейках A1 и B1 документа “Data.xls” на диске C:\
Sub Set_Values(Val1 As Double, Val2 As Double)
Dim DataWorkbook As Workbook
On Error GoTo ErrorHandling
‘ Открытие документа с данными
Set DataWorkbook = Workbooks.Open(“C:\Documents and Settings\Data”)
‘ Выбрать переменные Val1 and Val2 с данных в книге Excel
Val1 = Sheets(“Sheet1”).Cells(1, 1)
Val2 = Sheets(“Sheet1”).Cells(1, 2)
DataWorkbook.Close
Exit Sub
ErrorHandling:
‘ Если файл не найден, предложить пользователю найти правильную директорию
‘ после чего продолжить выполнение подпрограммы
MsgBox “Data Workbook not found;” & _
“Please add the workbook to C:\Documents and Settings and click OK”
Resume
End Sub
После детального ознакомления с этими примерами будет значительно легче применять свои навыки на практике.
Вариант 1: Автоматическая запись макросов
Прежде чем начать автоматическую запись макросов, нужно включить их в программе Microsoft Excel. Для этого воспользуйтесь нашим отдельным материалом.
Подробнее: Включение и отключение макросов в Microsoft Excel
Когда все готово, приступаем к записи.
- Перейдите на вкладку «Разработчик». Кликните по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».
Открывается окно настройки записи макроса. Тут можно указать любое имя для него, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры, а также в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».
Тут же при желании можно установить сочетание клавиш, при нажатии на которые макрос будет запускаться. Первой клавишей обязательно должна быть Ctrl, а вторую пользователь устанавливает самостоятельно. Мы в качестве примера установили клавишу М.
Далее следует определить, где будет храниться макрос. По умолчанию он расположен в этой же книге (файле), но при желании можно установить хранение в новой книге или в отдельной книге макросов. Мы оставим значение по умолчанию.
В самом нижнем поле можно оставить любое подходящее по контексту описание макроса, но это делать не обязательно. Когда все настройки выполнены, жмем на кнопку «OK».
После этого все ваши действия в данной книге (файле) Excel будут записываться в макрос до тех пор, пока вы сами не остановите запись.
Для примера запишем простейшее арифметическое действие: сложение содержимого трех ячеек (=C4+C5+C6).
Когда алгоритм был выполнен, щелкаем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса» после включения записи.
Запуск макроса
Для проверки того, как работает записанный макрос, выполним несколько простых действий.
- Кликаем в том же блоке инструментов «Код» по кнопке «Макросы» или жмем сочетание клавиш Alt + F8.
После этого открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его и кликаем на кнопку «Выполнить».
Можно поступить еще проще и не вызывать даже окно выбора макросов, так как на первом этапе мы задали сочетание клавиш для быстрого вызова макроса. В нашем случае это Ctrl + М. Жмем данную комбинацию на клавиатуре, после чего он запускается.
Как видим, он выполнил в точности все те действия, которые были записаны ранее.
Редактирование макроса
Естественно, при желании вы можете корректировать созданный макрос, чтобы всегда поддерживать его в актуальном состоянии и исправлять некоторые неточности, допущенные во время процесса записи.
- Снова щелкаем на кнопку «Макросы». В открывшемся окне выбираем нужный и кликаем по кнопке «Изменить».
Открывается «Microsoft Visual Basic» (VBE) – среда, где происходит их редактирование.
Запись каждого макроса начинается с команды , а заканчивается командой . Сразу же после указывается имя макроса. Оператор указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка «C4». Оператор используется для записи действий в формулах и других расчетов.
Попытаемся немного изменить макрос, дописав выражение:
Выражение заменим на .
Закрываем редактор и запускаем макрос. Как видим, вследствие введенных нами изменений была добавлена дополнительная ячейка с данными. Она также была включена в расчет общей суммы.
В случае если макрос слишком большой, его выполнение может занять значительное время, но внесением ручного изменения в код мы можем ускорить процесс. Добавляем команду . Она позволит сохранить вычислительные мощности, а значит, ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем команду .
Добавим также команду в начало кода, а в его конец дописываем . Этим мы сначала отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время.
Как начать
Прeждe всeго трeбуeтся создать файл и сохранить eго, присвоив имя и выбрав тип «Книга Excel с поддeржкой макросов».
Затeм нeобходимо пeрeйти в приложeниe VB, для чeго достаточно воспользоваться комбинациeй клавиш «Alt» и «F11». Далee:
- в строкe мeню, расположeнном в вeрхнeй части окна, нажимают на иконку рядом с иконкой Excel;
- выбирают команду Mudule;
- сохраняют, нажав на иконку с изображeниeм floppy disk;
- пишут, скажeм так, набросок кода.
Он выглядит слeдующим образом:
Обратитe вниманиe, что строка «’Наш код» будeт выдeлeна другим цвeтом (зeлeным). Причина в апострофe, поставлeнном в началe строки, который обозначаeт, что далee слeдуeт коммeнтарий.
Тeпeрь вы можeтe написать любой код и создать для сeбя новый инструмeнт в VBA Excel (примeры программ см. далee). Конeчно, тeм, кто знаком с азами Visual Basic, будeт намного прощe. Однако дажe тe, кто их нe имeeт, при жeлании смогут освоиться достаточно быстро.
Понятие макроса
Термин «Макрос» слышало множество людей. Нередко при запуске таблицы появляется предупреждение: “Этот документ использует макросы, способные навредить данному компьютеру, поэтому они отключены с целью защиты от вредоносных действий”.
Макрос – действенный способ автоматизировать самые частые действия, которые нужно выполнять в электронных таблицах. Макросы – это разновидность программирования. Разработка этих подпрограмм осуществляется с помощью языка VBA. Впрочем, некоторые виды макросов не требуют навыков программирования. Ведь существует еще такое понятие, как макрорекордер. Достаточно его включить и совершить некоторые действия, как далее они будут повторяться по нажатию одной кнопки.
Макросы могут быть реально опасными. Поскольку при их написании используется язык программирования, с его помощью можно создать настоящий вирус, который способен повредить информацию, а также собирать данные для злоумышленников (особенно опасно, если в таблице есть банковские данные, пароли и так далее).
Также макрос может запустить реальную троянскую программу на компьютере. Поэтому, чтобы не допустить вредоносных действий со стороны стороннего макроса, не стоит запускать макросы из сторонних источников, которым не доверяют.
Значительно проще объяснить, зачем нужны макросы, на реальном примере. Например, необходимо каждый день удалять из электронной таблицы несколько столбцов, а потом добавлять новые строки. Это невероятно утомительное занятие, отнимающее много времени. Если же воспользоваться макросами, есть реальная возможность значительно его сэкономить.
Макросы можно запускать по нажатию определенной комбинации клавиш. Например, если нажать Ctrl+J, можно запустить подпрограмму.
Интересный факт: известная программа бухгалтерского учета 1C изначально очень напоминала Excel, но потом ее функционал расширился до текущего.
Если же нужно давать компьютеру сложные инструкции, можно воспользоваться редактором Visual Basic, примеры кода в котором мы и рассмотрим немного позже.
Макрос Excel: пример 1
Первоначально эта процедура Sub была приведена, как пример использования комментариев в коде VBA. Однако, здесь также можно увидеть, как объявляются переменные, как работают ссылки на ячейки Excel, использование цикла For, условного оператора If и вывод на экран окна сообщения.
'Процедура Sub выполняет поиск ячейки, содержащей заданную строку 'в диапазоне ячеек A1:A100 активного листа Sub Find_String(sFindText As String) Dim i As Integer 'Целое число типа Integer, используется в цикле For Dim iRowNumber As Integer 'Целое число типа Integer для хранения результата iRowNumber = 0 'Просматривает одну за другой ячейки A1:A100 до тех пор, пока не будет найдена строка sFindText For i = 1 To 100 If Cells(i, 1).Value = sFindText Then 'Если совпадение с заданной строкой найдено 'сохраняем номер текущей строки и выходим из цикла For iRowNumber = i Exit For End If Next i 'Сообщаем пользователю во всплывающем окне найдена ли искомая строка 'Если заданная строка найдена, указываем в какой ячейке найдено совпадение If iRowNumber = 0 Then MsgBox "Строка " & sFindText & " не найдена" Else MsgBox "Строка " & sFindText & " найдена в ячейке A" & iRowNumber End If End Sub
Атанас Йонков Блоггер, Веб-разработчик yonkov.atanas@gmail.com
В этом уроке я покажу Вам самые популярные макросы в VBA Excel, которые вы сможете использовать для оптимизации своей работы. VBA – это язык программирования, который может использоваться для расширения возможностей MS Excel и других приложений MS Office. Это чрезвычайно полезно для пользователей MS Excel, поскольку VBA может использоваться для автоматизации вашей работы и значительно увеличить Вашу эффективность. В этой статье Вы познакомитесь с VBA и я вам покажу некоторые из наиболее полезных, готовых к использованию примеров VBA. Вы сможете использовать эти примеры для создания собственных скриптов, соответствующих Вашим потребностям.
Я подготовил для вас несколько самых полезных примеров VBA Excel с большой функциональностью, которую вы сможете использовать для оптимизации своей работы. Чтобы их использовать, вам необходимо записать их в файл. Следующий параграф посвящен установке макроса Excel. Пропустите эту часть, если вы уже знакомы с этим.
Table of Contents
Как включить макросы в Excel
В Excel нажмите комбинацию клавиш alt + F11. Это приведет вас к редактору VBA в MS Excel. Затем щелкните правой кнопкой мыши папку Microsoft Excel Objects слева и выберите Insert => Module. Это место, где сохраняются макросы. Чтобы использовать макрос, вам нужно сохранить документ Excel как макрос. Из табуляции File => Save as, выберите Save as macro-enabled Workbok (расширение .xlsm) Теперь пришло время написать свой первый макрос!
1. Копирование данных из одного файла в другой.
Очень полезный макрос, поскольку он показывает, как скопировать ряд данных изнутри vba и как создать и назвать новую книгу. Вы можете изменить этот макрос в соответствии с вашими собственными требованиями:
2. Отображение скрытых строк
Иногда большие файлы Excel можно содержать скрытые строки для большей ясности И для лучшего удобства пользователей. Вот один макрос, который отобразит все строки из активной рабочей таблицы:
14. Отправка активного файла по электронной почте
Мой любимый код VBA. Он позволяет вам прикреплять и отправлять файл, с которым вы работаете, с предопределенным адресом электронной почты, заголовком сообщения и телом сообщения! Сначала Вам нужно сделать референцию в Excel на Microsoft Outlook (в редакторе Excel VBA, нажмите tools => references и выберите Microsoft Outlook).
15. Вставка всех графиков Excel в презентацию PowerPoint
Очень удобный макрос, который позволяет вам добавлять все ваши графики Excel в презентацию Powerpoint одним щелчком мыши:
16. Вставка таблицы Excel в MS Word
Таблицы Excel обычно помещаются внутри текстовых документов. Вот один автоматический способ экспорта таблицы Excel в MS Word:
17. Извлечение слов из текста
Мы можем использовать формулы, если хотим извлечь определенное количество символов. Но что, если мы хотим извлечь только одно слово из предложения или диапазон слов в ячейке? Для этого мы можем сами создать функцию Excel с помощью VBA. Это одна из самых удобных функций VBA, поскольку она позволяет создавать собственные формулы, которые отсутствуют в MS Excel. Давайте продолжим и создадим две функции: findword() и findwordrev():
Отлично, мы уже создали две новые функции в Excel! Теперь попробуйте использовать их в Excel. Функция = FindWordRev (A1,1) берет последнее слово из ячейки A1. Функция = FindWord (A1,3) берет третье слово из ячейки A1 и т. Д.
Поздравления! Поскольку вы все еще читаете это, вы действительно заинтересованы в изучении VBA. Как вы уже сами видели, язык программирования VBA чрезвычайно полезен и может сэкономить нам много времени. Надеюсь, вы нашли эту информацию полезной и использовали ее, чтобы стать мастером MS Excel, VBA и компьютерных наук в целом.
Пример использования макросов №1
Сперва этот пример кода использовался для демонстрации комментариев кода, написанного на VBA. Но поскольку он включает и иные возможности языка, он может применяться для демонстрации следующих функций:
- Объявление переменных.
- Указание ссылок на ячейки Excel.
- Применение цикла типа For.
- Применение условного оператора.
- Отображение оповещения.
‘ Подпрограмма для поиска ячеек с адресами A1-A100 текущего активного листа
‘ и поиска ячеек, в которых содержится требуемая строка
Sub Find_String(sFindText As String)
Dim i As Integer ‘ Целочисленная переменная, которая используется в цикле типа «For»
Dim iRowNumber As Integer ‘ Целочисленная переменная, предназначенная для сохранения результата
iRowNumber = 0
‘ Цикл через ячейки A1-A100 до тех пор, пока не будет найдена строка ‘sFindText’
For i = 1 To 100
If Cells(i, 1).Value = sFindText Then
‘ Совпадение обнаружено для заданной строки
‘ Сохранение текущего номера строки и выход из цикла
iRowNumber = i
Exit For
End If
Next i
‘ Всплывающее сообщение, информирующее пользователя о найденной строке и ее номере
If iRowNumber = 0 Then
MsgBox “String ” & sFindText & ” not found”
Else
MsgBox “String ” & sFindText & ” found in cell A” & iRowNumber
End If
End Sub