Vba Excel Как Определить Последнюю Ячейку • Функция клеток
Адресация ячеек в VBA Excel
Адресация (ссылка) на ячейки рабочего листа могут осуществляться двумя способами:
1). используя свойство Cells объекта Worksheet,
2). используя свойство Address объекта Range.
Первый способ. Формат свойства Cells объекта Worksheet:
— , – целочисленные выражения, задающие значения № строки и № столбца рабочего листа.
Ячейка, находящаяся в строке 2 в столбце 5 (ячейка E2) листа Лист1, получает значение 10.
Номер строки и столбца могут быть записаны в виде выражений.
а ячейке E2 листа Лист1 вы хотите присвоить значение, равное 10, то можно написать
Второй способ. Формат свойства Address объекта Range:
Для активного рабочего листа можно опустить его название и слово Value, например, записать предыдущие инструкции так:
При использовании свойства Address объекта Range можно указать диапазон ячеек. Например, в результате выполнения инструкции Range(«a5:a10») = 5 ячейки блока A5:A10 получат значение 5.
В этом пункте рассматриваются следующие средства вывода сообщений на экран дисплея и ввода данных с клавиатуры при помощи диалоговых окон:
Функция MsgBox служит для организации диалоговых окон, содержащих какие-либо сообщения. После своего появления на экране окно сообщения ждет, пока пользователь щелкнет на одной из кнопок, присутствующих в окне. В зависимости от того, на какой кнопке щелкнул пользователь, функция возвращает определенное целое число. Функция MsgBox имеет следующий формат:
Аргументы рассматриваемой функции означают следующее.
Все остальные аргументы этой функции не обязательны.
Значения констант, определяющих число и тип кнопок в диалоговом окне, вид используемого информационного значка, и кнопку, на которую устанавливается фокус, приведены в таблице 1, 2 и 3 соответственно.
Значения аргумента buttons процедуры MsgBox, определяющие отображаемые кнопки в диалоговом окне
Значения аргумента buttons процедуры MsgBox, определяющие отображаемые информационные значки в диалоговом окне
Константа | Значение | Значок сообщения |
VbCritical | 16 | |
VbQuestion | 32 | |
VbExclamation | 48 | |
VbInformation | 64 |
Значения аргумента buttons процедуры MsgBox, определяющие основную кнопку в диалоговом окне
Константа | Значение | Номер основной кнопки |
VbDefaultButton1 | 0 | 1 |
VbDefaultButton2 | 256 | 2 |
VbDefaultButton3 | 512 | 3 |
VbDefaultButton4 | 768 | 4 |
При написании программ, в которых в зависимости от нажатой кнопки диалогового окна необходимо выполнить определённое действие, вместо возвращаемых числовых значений удобнее использовать константы VBA (табл. 4), которые делают код программы нагляднее и позволяют избежать ошибок при написании программ.
Значения констант, соответствующие нажатой кнопке в диалоговом окне
Константа | Значение | Нажатая кнопка |
vbOK | 1 | OK |
vbCancel | 2 | Отмена (Cancel) |
vbAbort | 3 | Прервать (Abort) |
vbRetry | 4 | Повторить (Retry) |
vbIgnore | 5 | Пропустить (Ignore) |
vbYes | 6 | Да (Yes) |
vbNo | 7 | Нет (No) |
Чтобы не ошибиться при вводе значений аргумента кнопки, используйте список констант, который появляется после ввода знака «+». Знак «+» используется для объединения нескольких констант при задании сложного аргумента кнопки. Например, использование в процедуре выражения
приведёт к появлению кнопок Да, Нет и Отмена (константа vbYesNoCancel), значка (константа vbQuestion) и по умолчанию к использованию первой кнопки (константа vbDefaultButton1).
Чтобы просмотреть список всех внутренних констант VBA, необходимо в окне программного кода VBA щёлкнуть левой кнопкой мыши по имени любой константы и нажать клавишу . В появившемся окне можно найти все внутренние константы Excel.
Title (Заголовок) – содержит заголовок окна сообщения; аргумент необязательный. Без этого аргумента в заголовке будет выведено имя приложения MS Office, из которого запускается программа на VBA (Excel, Word и т.д.).
Helpfile (Справка) – строковое выражение, содержащее имя справочного файла Windows. Обычно это файл, созданный разработчиком приложения с помощью Windows Help Compiler.
Context (Раздел)– численное выражение, указывающее раздел в справочном файле, относящийся к отображаемому диалоговому окну.
Аргументы Helpfile и Context не обязательны. Они используются или опускаются вместе.
Аргументы функции необходимо перечислять в том порядке, в каком они размещены в её формате. Следовательно, в функции MsgBox они должны располагаться следующим образом:
Если какой-либо аргумент опущен, то необходимо включать в список аргументов отмечающие запятые для следующего в списке аргумента.
В приведённой ниже процедуре ФункцияMsgBox() функция MsgBox используется для:
— определения, какая из кнопок: Да, Нет или Отмена – нажата (щёлкнута) в диалоговом окне этой функции;
— вывода на экран сообщения, какая кнопка была нажата и наименование примера использования этой функции.
Внутренняя константа vbExclamation используется в процедуре для вывода в окне сообщения символа . Определение значения нажатой кнопки осуществляется при помощи инструкции If…Then…Else, синтаксис которой будет подробно рассмотрен в дальнейшем.
Понимание ячеек Excel и функций диапазона в VBA
Правда, следует знать одну вещь: если у вас заполнены все строки в просматриваемом столбце(или будет заполнена самая последняя ячейка столбца) — то результат будет неверный(ну или не совсем такой, какой ожидали увидеть вы)
Определение последнего столбца через свойство End
Константа | Значение | Значок сообщения |
VbCritical | 16 | |
VbQuestion | 32 | |
VbExclamation | 48 | |
VbInformation | 64 |
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.