Ввод или считывание значения из диапазона



Свойство Value объекта Range возвращает или устанавливает значение в ячейках диапазона. В первой инструкции приведенного далее примера переменной х присваивается значение из ячейки С1, во второй — в ячейку СЗ вводится строка "Отчет", а в третьей — в каждую из ячеек диапазона А1:В2 вводится 1.

х = Range("CI").Value

Range("СЗ").Value = "Отчет"

Range("A1:B2").Value = 1

Поиск по шаблону подобных значений в диапазоне

Последовательный перебор ячеек диапазона и сравнение с помощью оператора Like возвращаемых значений свойства Value с шаблоном позволяют реализовывать поиск подобных значений в диапазоне. Например, в следующем коде последовательно просматриваются все ячейки диапазона А1:А100. В тех из них, в которые входит значение ms, содержимое ячейки заменяется словом Microsoft, сама же ячейка заливается желтым цветом, в то время как все остальные ячейки — белым цветом.

Dim с As Range

For Each с In [A1:A100]

If с Value Like "*MS*" Then

c.Value = "Microsoft"

с.Interior.Color = RGB(255, 255, 0)

Else

c.Interior.Color = RGB(255, 255, 255)

End If

Next

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

Свойство Formula объекта Range возвращает или устанавливает формулу в диапазон в формате А1. Например, в следующем примере первая инструкция вводит в ячейку С1 формулу =$A$1+$B$1, а вторая — в ячейку С2 формулу =SIN(А2)^2 .

Range("C1").Formula = "=$А$1+$В$1"

Range("C2").Formula = "=SIN(A2)A2"

Ввод или считывание формулы в ячейку в формате R1C1

Свойство FormulaR1C1 объекта Range возвращает формулу в формате R 1 C 1 . Например, следующая инструкция вводит в ячейку В1 формулу =2*R3C2 в R1C1-формате, или, что эквивалентно, формулу =2*$B$3 в формате А1.

Range("Bl").FormulaRlCl = "=2*R3C2"

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

Свойство FormulaLocal объекта Range возвращает формулу локальной версии в формате А1. Например, следующая инструкция вводит в ячейку В2 формулу =сумм(c1: с4).

Range("В2").FormulaLocal = "=СУММ(C1:C4)"

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

Свойство FormulaR1C1Local объекта Range возвращает формулу локальной версии в формате R 1 C 1 . Например, следующая инструкция вводит в ячейку В2 формулу =сумм(c1: с4) в формате R 1 C 1.

Range ("B2") .FormuiaR1C1Local = "= СУММ(R1C3:R4C3)"

Ввод формулы массива в диапазон

Свойство FormulaArray объекта Range возвращает формулу диапазона в формате А1. В отличие от обыкновенной формулы рабочего листа, формула массива вводится на рабочем листе не нажатием клавиши <Enter>, а комбнацией клавиш <Ctrl>+<Shift>+<Enter>. Например, следующая инструкция вводит в диапазон Е1:ЕЗ формулу {=А1:АЗ*3}:

Range("E1:E3").FormulaArray = "=А1:АЗ*3"

Ввод формулы массива локальной версии в диапазон

При вводе формулы массива с функциями рабочего листа локальной версии формулу надо представить в формате R 1 C 1 , и вместо формулы локальной версии использовать формулу базовой версии. Например, следующая инструкция вводит в ячейку D1 формулу {=сумм($а$1:$в$1*3)}:

Range("D1").FormulaArray = "=SUM(R1C1:R1C2*3)"

Ввод формулы массива в диапазон с

Относительными ссылками на ячейки

Для ввода формулы с относительными ссылками на ячейки необходимо использовать относительную адресацию в формате R1C1 . Например, ввод формулы {=сумм(А1:В1*з) } в ячейку D1 производится следующей инструкцией:

Range("D1").FormulaArray = "=SUM(RC[-3]:RC[-1]*3)"

Определение адреса ячейки

Свойство Address объекта Range возвращает адрес диапазона.

Address[RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

Здесь:

r RowAbsolute — необязательный параметр, принимающий логические значения. Если значение параметра равно True или параметр опущен, то возвращается абсолютная ссылка на строку;

r ColumnAbsolute — необязательный параметр, принимающий логические значения. Если его значение равно True или параметр опущен, то возвращается абсолютная ссылка на столбец;

r ReferenceStyle — необязательный параметр. Допустимы два значения — xlA1 и xlR1C1, если xlA1 или xlR1C1 опущены, то возвращается ссылка в формате А1;

r External — необязательный параметр, принимающий логические значения и определяющий, является ли ссылка внешней;

r RelativeTo — необязательный параметр. В случае если значения параметров RowAbsolute и ColumnAbsolute равны False, a ReferenceStyle — xlR1C1, то данный параметр определяет начальную ячейку диапазона, относительно которой производится адресация.

Следующий код (листинг 5.40), обрабатывающий событие SelectionChange объекта Worksheet, демонстрирует возвращаемые свойством Address значения при различных установках его параметров.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox Target.Address/) & vbCr & _

Target.Address(RowAbsolute:=False) & vbCr & _

Target.Address(ReferenceStyle:=xlRlCl) & vbCr & _

Target.Address(ReferenceStyle:=xlRlCl, RowAbsolute:=False, ColumnAbsolute:=False, RelativeTo—Worksheets(1).Cells(2, 2)) End Sub

Например, если на рабочем листе будет выбрана ячейка А1, то на экране отобразится окно со следующим сообщением:

$А$1

$А1

R1C1

R[-1]C[-1]


Дата добавления: 2019-02-12; просмотров: 192; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!