Шаг 31 - Работаем с выделенным диапазоном

Наша задача научиться обрабатывать выделенный диапазон. Я надеюсь, что кнопка до сих пор связанна у Вас с макросом. Как ниже. То есть пользователь выделяет диапазон, а по нажатию на кнопку над ним производится работа. Например умножения всех чисел на два.

31_1.gif (1473 b)

Попробуем получить информацию о выделенном диапазоне:

Sub Test()
	' обьявим переменнуб типа Range
	Dim cur_range As Range
	' активный расчетный лист
	With ActiveSheet
		' объект Range включает выделенный диапазон
		Set cur_range = Selection
		' активизируем Range
		cur_range.Activate
		' Адрес и количество строк и колонок
		Debug.Print cur_range.Address
		Debug.Print cur_range.Columns.Count
		Debug.Print cur_range.Rows.Count
	End With
End Sub

А вот и код. Ниже написана функция, которая значения в ячейках умножит на 2. Будь то одна ячейка или диапазон ячеек.

Sub Test()
	Dim cur_range As Range
	With ActiveSheet
		Set cur_range = Selection
		cur_range.Activate
		For x = 1 To cur_range.Rows.Count
			For y = 1 To cur_range.Columns.Count
			' значению ячейки присвоить значение умноженно на 2
				cur_range(x, y) = cur_range(x, y).Value * 2
			Next y
		Next x
	End With
End Sub

Подводя короткий итог можно сказать, что выделенный диапазон можно получить используя объект Selection, перевести его в объект Range, от которого можно получить данные о местоположении выделенного диапазона, количества выделенных ячеек, а также иметь доступ к отдельным ячейкам используя объект Range.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.