9 Январь 2008

7. Манипуляции с рабочими листами

Большинство манипуляций заключаются либо в помещении че­го-либо в ячейки рабочего листа, либо в чтении чего-либо из них. Свойство Value объекта Range используется как для чтения, так и для помещения данных в ячейки. Например, оператор

SomeRange.Value=data

помещает данные data в заданный диапазон. Если переменная SomeRange ссылается на более чем одну ячейку, данные помещаются во все ячейки диапа­зона. Существующие в ячейках данные замещаются без предупреждения. Дан­ные могут быть числовыми, текстовыми, формулой или одной из встроенных функций Excel. Приведем несколько примеров:

Range (”Al”) .Value=123.4 . 56 . Range(”A2″).Value=”Sales Data” Range(”A3″).Value=”=Al/2″ Range(”Bll”).Value=”=sum(Bl:B10)”

Свойство Value также используется для получения значения из ячейки. Если заданный диапазон ссылается на одну ячейку, то свойство Value вернет её дан­ные — число, текст или пустые данные. Если диапазон ссылается более чем на одну ячейку, свойство Value вернет массив, состоящий из данных всех ячеек. Это условие можно проверить, используя функцию isArray, например:

Dim x

X=Range(”SalesTotal“).Value If IsArray(x) Then

‘программа обработки массива Else

‘программа обработки одного значения End If

Возвращаемый массив является двумерным, с типом Variant. Для определе­ния размера массива можно использовать функции Rbound и Lbound (он, естест­венно, будет иметь размеры диапазона).

Обратите внимание: хотя и может показаться, что свойство Value, возвра­щаемое пустой ячейкой, должно содержать пустую строку, на самом деле оно со­держит специальное значение Empty. Для проверки этого значения используется функция IsEmpty:

If IsEmpty(Range(”Al“).Value) Then

‘ячейка Al — пустая Else

‘ячейка Al — не пустая End If

Если из ячейки вы хотите выбрать формулу, используется свойство Formula. В то время, как свойство Value возвращает результаты формул, саму формулу возвращает свойство Formula. С ячейками, в которых нет формул, свойство For­mula работает подобно свойству Value. Рассмотрим следующий фрагмент:

Dim f, v

Range(”Al”).Value=5

Range(”A2″).Value=7

Range (”A3 “) . Value=” =A1+A2″

V=Range(”A3″).Value

F=Range(”A3″).Formula

После выполнения этого фрагмента переменная v будет содержать значение 12, а переменная f — строку “=А1+А2″.

© ?????? �????????-???????????�., 2008. ??? ????? ????????.
??????????? ?????????? ?????? ??? ??????? ???????? ?????? ?? ????????.
Powered by WordPress