Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспектVBA.doc
Скачиваний:
17
Добавлен:
07.03.2016
Размер:
200.7 Кб
Скачать

Строковые ссылки в стиле а1 или имена диапазонов

Самый распространенный способ получить объект Range — сделать ссылку в стиле А1 или по имени диапазона, как показано в таблице:

Чтобы:

Напишите:

Изменить значение в ячейке А1 на листе Лист1

Worksheets("Лист1").Range("A1").Value = 3

Установить формулу для ячейки В1 на активном листе

Range("B1").Formula = "=5-10*RAND()"

в ячейку А2 вставляется формула путем измене свойства Formula (формула):

Range ("А2").Formula = "=СУММ(А1:С1) "

Присвоить значение всем ячейкам диапазона

Range("C1:E3").Value = 6

для свойства Value диапазона ячеек “начальные данные” устанавливается в значение 0,1 (т. е. в ячейках этого диапазона будет записано число 0,1)

Range ("Начальные_данные").Value =0.1

Например, установить в ячейки диапазона “dip значение 15

Range(“dip”).Value=15

Очистить содержимое диапазона А1:ЕЗ на активном листе

Range ("A1", "E3").ClearContents

Установить полужирное начертание шрифта для диапазона myRange (имя на уровне книги)

Range("myRange").Font.Bold = True

Присвоить значение всем ячейкам диапазона yourRange (имя на уровне листа)

Range("Лист1!yourRange").Value = 3

Присвоить объектной переменной ссылку на диапазон

Set objRange = Range("myRange")

Например, следующее выражение очищает вторую строку рабочего листа Май в рабочей книге Отчет

Application.Workbooks("Отчет").Worksheets

("Май").Rows(2).Delete

переменной процентная_ставка присваивается значение из ячейки А1 текущего рабочего листа

Процентная_ставка = Range("Al").Value

Процентная_ставка = Cells(1,1).Value

Выбрать диапазон ячеек А10:В12.

Range("A10:B12").Select

Для ячейки B2 задает числовой фор­мат с двумя знаками после десятичной точки

Range("B2"). NumberFormat = "0.00"

Задает в ячейке В2 многострочный текст

Range("B2").Value = "Многострочный текст"

Range("B2").WrapText = True

Помните, что выражения типа Range("C1: ЕЗ").Value = 6 подразумевают обращение к свойству Range активного листа. Если Вы попытаетесь выполнить это выражение в тот момент, когда активен лист диаграммы, произойдет ошибка периода выполнения (с кодом 1004).

Еще одна причина ошибок - использование свойства Range в качестве аргумента другого метода без полного описания объекта Worksheet, к которому оно относится. В следующем примере, который должен был бы сортировать диапазон ячеек на листе Лист1, тоже возникает ошибка периода выполнения 1004:

Sub SortRangeO

Worksheets("Лист1").Range("A1:B10").Sort _

key1:=Range("A1"), order1:=xlDescending

End Sub

Такую ошибку обнаружить труднее, поскольку строка, из которой вызывает­ся метод Sort, сама по себе корректна. Ошибка возникает во второй строке, где указан аргумент key1. Этот код будет работать правильно, если активным листом является Sheetl, но приведет к ошибке при обращении к нему из другого листа или модуля. Во избежание подобных ошибок используйте при задании аргумента свойство Worksheets:

Sub SortRangeO

Worksheets("Лист1").Range("A1:B10").Sort _

key1:=Worksheets("Лист1").Range("A1"), _

order1:=xlDescending

End Sub