Почему набор команд так важен в изучении VBA для Excel

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

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

Как использовать команду set

Одним из сценариев может быть доступ к столбцу из таблицы данных:


Продажа имен
Иоанн 98
Мария 122
Анри 120
Мэри 102
Петр 85
Жак 130
Мэри 100

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

В ближайшем окне код может выглядеть так:

 

Диапазон («a1»). CurrentRegion.Select
Для каждого c в Selection.Rows
Отладка. Печать c. Столбцы (1)
после

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


noRows = selection.rows.count

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


Dim mySel As Range
Установите mySel = Range ("a1"). CurrentRegion

После определения выбора VBA предлагает помощь в доступе к свойствам

охват. Чтобы получить доступ к свойствам в этом случае, вы можете ввести mysel. и у вас есть более 20 различных свойств на выбор.

Чтобы получить количество строк, выберите параметр строки, а затем свойство count. Таким образом, вы можете использовать здравый смысл и экспериментировать, чтобы получить желаемый результат.


noRows = mySel.rows.count

Использование команды set для кодирования функции листа

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

Без команды set мы бы написали что-то вроде этого:


myStr = "Мэри"
countStr = Application.WorksheetFunction.CountIf (range ("a1: a8"), myStr)

Мы также можем применить команду set к функции рабочего листа, что значительно упрощает написание процедуры.


dim mySel как диапазон
установить mySel = Range ("a1"). CurrentRegion
Dim func as WorksheetFunction
Set func = Application.WorksheetFunction
myStr = "Мэри"

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


countStr = func.CountIf (mySel, "Mary")

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

резюме

Использование команды set — хорошая идея при написании произвольного кода, особенно если вы не уверены в правильном способе доступа к свойствам выбора. Одна из целей использования VBA — донести ваши идеи простым и понятным способом, и команда set помогает в этом.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *