Совет для чтения строки кода — начать с конца.
Когда вы учитесь писать код, лучше всего, если вы знаете, как его читать. Иногда вы видите длинную строку кода с множеством точек и думаете: «Что это значит ???»
Я считаю, что чтение кода с конца помогает. Начните с последнего слова и двигайтесь влево, заменяя точки словами «для».
Давайте попробуем это на следующей строке кода.
Application.Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”).Range(“A1”).Value = 100
Начиная справа… Установите значение диапазона А1 листа Sheet1 для Book1.xlsx приложения (Excel) равным 100.
Вот еще один пример:
Range(“A1:F1”).Font.Bold = True
Установите свойства «Жирный шрифт» для диапазона A1: F1 значение True.
Эта методология поможет вам вернуться к иерархии. Это поможет при написании кода и проверке того, что ссылки на ваши объекты полностью определены.
Сокращение кода и повышение эффективности — пожалуйста!
Оператор With может помочь нам упростить чтение и запись нашего кода, сохраняя при этом его полную квалификацию.
Вместо того, чтобы вводить полную строку кода для каждой строки, мы можем использовать оператор With, чтобы повторить ссылку. Каждая строка, начинающаяся с точки между строкой «With» и «End
With », будет использовать оператор «With » в качестве своего спецификатора.
Это не только облегчает чтение и запись, но также позволяет VBA работать более эффективно при выполнении кода. В приведенном выше примере не нужно выяснять, на какую рабочую книгу и рабочий лист вы ссылаетесь в каждой строке кода. Это нужно оценить только один раз.
В каком порядке запускается макрос?
Когда макрос выполняется, код читается сверху вниз. Это похоже на обычное чтение. Вы начинаете с верхней части страницы и идете вниз.
Только одна строка кода выполняется / оценивается одновременно, и каждая строка кода оценивается по порядку. Как только VBA завершает оценку строки кода или выполняет действие, он переходит на следующую строку.
Вы можете пройти и запустить каждую строку кода, поместив текстовый курсор в любое место макроса и нажав клавишу F8 на клавиатуре.
Это основы, но все может быть сложнее. Мы можем использовать операторы в VBA для управления порядком выполнения кода. Оператор типа If Then Else, Select Case, loop и GoTo может указать VBA пропустить, повторить или перейти к различным разделам кода.
Вы также можете вызывать другие макросы и функции из макроса и запускать этот код. Когда другой макрос вызывается из макроса, VBA запустит весь этот макрос, затем вернется к вызывающему макросу и продолжит выполнение кода.
Основной принцип все тот же. VBA будет запускать / оценивать только одну строку кода одновременно сверху вниз.
Объектная модель Excel — это ваша кухня MasterChef
Объектная модель Excel в VBA огромна, и есть чему поучиться. Понимание того, как работает иерархия, поможет вам ориентироваться в библиотеке и изучать VBA.
Но не позволяйте огромному размеру библиотеки объектов пугать вас. Когда вы идете готовить еду, вам не понадобятся все инструменты на кухне, и вы не собираетесь использовать все ингредиенты в кладовой. То же верно, когда вы пишете макросы. Лучше начать с основ и продолжить свой путь. Начните с миски каши и продолжайте свой путь к изысканному обеду из 5 блюд.
Самое интересное, что вы можете программировать практически все объекты в Excel с помощью VBA. Если вы когда-либо видели телевизионное шоу MasterChef, у участников шоу есть гигантская кухня и кладовая для работы. Они имеют в своем распоряжении практически все кухонные инструменты и ингредиенты, которые вы можете придумать.
Объектная модель Excel похожа. Мы можем использовать VBA для создания практически любого автоматизированного процесса или приложения, которое сэкономит вам и вашим пользователям много времени.
Читайте предыдущие статьи:
Введение в VBA: Макросы. Объяснение на кухне (Часть 1 из 3)
Введение в VBA: Объектная модель VBA (Часть 2 из 3)