Ключевое слово Me используется в VBA Excel при написании процедур, находящихся в модулях объектов, и представляет собой эти объекты. Примеры с Me.
Ключевое слово Me
Ключевое слово Me автоматически доступно для каждой процедуры в модуле объекта (книги, листа, формы). Оно ведет себя как неявно объявленная переменная и представляет собой тот объект, в модуле которого используется.
Ключевое слово Me облегчает обращение к объекту внутри его модуля — Me используется вместо имени объекта. В стандартном модуле ключевое слово Me недоступно.
Примеры с Me
В модуле формы
Использование Me в VBA Excel при открытии пользовательской формы:
1 2 3 4 5 6 7 8 9 10 |
Private Sub UserForm_Initialize() With Me 'размещаем форму справа на 200 единиц от левой границы приложения .Left = Application.Left + 200 'размещаем форму ниже на 150 единиц от верхней границы приложения .Top = Application.Top + 150 'задаем название формы .Caption = "Название формы" End With End Sub |
Меняем цвет формы на случайный цвет нажатием кнопки CommandButton1 (элемент управления пользовательской формы):
1 2 3 |
Private Sub CommandButton1_Click() Me.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256) End Sub |
Закрываем форму нажатием кнопки CommandButton2:
1 2 3 |
Private Sub CommandButton2_Click() Unload Me End Sub |
В модуле листа
На рабочем листе создаем кнопку CommandButton1 (элемент ActiveX). В модуле листа размещаем следующий код:
1 2 3 4 5 6 7 8 |
Private Sub CommandButton1_Click() With Me 'задаем название листа (ярлыка) .Name = "Новый лист" 'задаем цвет ярлыка .Tab.Color = vbBlue End With End Sub |
В модуле книги
Отображаем полное имя текущей книги:
1 2 3 |
Sub Test() MsgBox Me.FullName End Sub |
Этот код сработает и без ключевого слова Me, но при его использовании становится доступен лист свойств-методов объекта (лист подсказок).