double arrow

Шаг 11 - Дальше о Range


Разговаривая о выделении ячеек с помощью Range мы с Вами должны знать, что возвращает этот метод множество. Это множество может состоять из одной или нескольких ячеек. А если множество, то информатика говорит о необходимости иметь возможность их объединения.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Worksheets("Лист2").Activate

Dim HelloRange As Range

Set HelloRange = Range("D3:D10, A3:A10 , F3")

HelloRange.Select

End With

End Sub

А вот результат работы этого кода.

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

Sub Test()

With Application.Workbooks.Item("Test.xls")

Worksheets("Лист2").Activate

Dim HelloRange As Range

Set HelloRange = Range("A1:A20 A8:D8")

HelloRange.Value = "Hello"

End With

End Sub

Будет выделена всего одна ячейка. Как Вы видите из предыдущих примеров отличаются типом обьявления - "D3:D10, A3:A10" это объединения, а "A1:A20 A8:D8" это пересечение. Используя пересечения и объединения можно строить область любого уровня сложности.

Получив объединение можно узнать количестов ячеек.

Sub Test()

With Application.Workbooks.Item("Test.xls")

Worksheets("Лист2").Activate

Dim HelloRange As Range

Set HelloRange = Range("A1:A20, D1:D20")

MsgBox (Str(HelloRange.Count))

End With

End Sub

Да пора бы уже расказать о этой Str. Эта функция переводит число в строку. Вот пример:

Sub Test()

Dim x As Integer

x = 10

Dim s As String

s = Str(x)

MsgBox (s)

End Sub

Или так с типом Double она сама определит как переводить, простая и умная, как женщина моей мечты :-)

Sub Test()

Dim x As Double

x = 10.333333

Dim s As String

s = Str(x)

MsgBox (s)

End Sub


Сейчас читают про: