Получение ссылки на диапазон ячеек и ее изменение путем выделения ячеек на рабочем листе с помощью элемента управления пользовательской формы RefEdit.
Элемент управления RefEdit
Кнопка справа от поля ввода и редактирования ссылок предназначена для сворачивания пользовательской формы в «одну строку». На свернутой форме остается только элемент управления RefEdit и становится доступным ввод адреса диапазона путем выделения ячеек на рабочем листе.
В стандартном наборе инструментов пользовательской формы Toolbox элемента управления RefEdit нет. Чтобы его добавить, кликните правой кнопкой мыши на Toolbox и выберите ссылку «Additional Controls…»:
В окне Additional Controls найдите строку RefEdit Ctrl:
Выберите строку RefEdit Ctrl и нажмите кнопку «OK». Значок элемента управления RefEdit будет добавлен на Toolbox (последний в списке):
Свойства элемента RefEdit
Почти все свойства элемента управления RefEdit аналогичны свойствам текстового поля (TextBox). Со всеми доступными свойствами редактора ссылок вы можете ознакомиться в окне Properties элемента управления RefEdit.
Основное свойство RefEdit, являющееся свойством по умолчанию, – это Text. Как и у текстового поля, свойство Text элемента RefEdit дублируется свойством Value. Если в окне Properties начать набор символов в поле свойства Text, ввод будет автоматически дублироваться в поле свойства Value.
Использование редактора ссылок
Открываем пользовательскую форму с элементом управления RefEdit:
Нажимаем на кнопку справа и выбираем диапазон на рабочем листе:
Полный адрес включает название листа и абсолютный адрес выбранного диапазона ячеек. После повторного нажатия на кнопку справа от поля ввода пользовательская форма принимает первоначальный вид:
Проверяем, что свойство Text редактора ссылок является свойством по умолчанию:
1 2 3 |
Private Sub CommandButton1_Click() MsgBox RefEdit1 End Sub |
Присвоение текста «VBA Excel» всем выбранным ячейкам по записанному адресу диапазона:
1 |
Range(RefEdit1) = "VBA Excel" |
Так можно обратиться к первой из выбранных ячеек и отобразить ее значение в информационном окне MsgBox:
1 |
MsgBox Range(RefEdit1).Cells(1) |
Получение адреса диапазона путем его ручного выбора на рабочем листе возможно также с помощью метода Application.InputBox.