Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Свойства Свойство Name (r/w String)

Пример

Обе процедуры переименовывают листы в соответствии с названиями месяцев года. В книге должно быть, по крайней мере, 12 листов.

Private Sub prop_name1() 'Первый вариант

Dim n As Integer

For n = 1 To 12

‘имя листа - название месяца

Worksheets(n).Name = Format(DateSerial(100, n, 1), "mmmm")

Next

End Sub

Функция DateSerial(100,n,1) создает дату, представляющую первое число каждого месяца сотого года. Функция Format преобразует дату в название месяца.

Private Sub prop_name2() 'Второй вариант

Dim r As Object, p As Object, i As Integer

Range("A1").Select

ActiveCell.FormulaR1C1 = "Январь"

Selection.AutoFill Destination:=Range("A1:A12"), Type:=xlFillDefault

Set r = Range("A1:A12")

i = 1

For Each p In r

Worksheets(i).Name = p.Value

i = i + 1

Next p

End Sub

Названия листов получены из массива названий месяцев, который создается при помощи заполнения ячеек.

Свойство Type (r/o String)

Свойство возвращает тип рабочего листа. Используется для анализа типа листа. Для сравнения используются встроенные константы xlWorksheet, xlChart.

Например, оператор Debug.Print Sheets(1).Type = xlWorksheet распечатывает False, если первый лист – лист диаграмм, и True, если первый дист – рабочий лист.

Для анализа типа листа можно использовать функцию TypeName, например, p = TypeName(ActiveSheet). Функция возвращает строку с типом активного листа.

Пример

Процедура подсчитывает количество диаграммных и рабочих листов.

Public Sub sheet_type()

Dim w(1 To 2) As Integer

Dim c As Object

Sheets.Add Count:=2, Type:=xlChart 'добавляются два диаграммных листа

Sheets.Add Count:=6, Type:= xlWorksheet 'добавляются шесть рабочих листов

For Each c In Sheets

If c.Type = xlWorksheet Then

w(1) = w(1) + 1 количество рабочих листов

Else

w(2) = w(2) + 1 'количество диаграммных листов

End If

Next c

MsgBox "В рабочей книге " & w(1) & "рабочих листов и " & w(2) & "листов диаграмм"

End Sub

Свойство UsedRange

Свойство UsedRange определяет объект Range, соответствующий используемому на рабочем листе интервалу ячеек. Это минимальная прямоугольная область рабочего листа, которая вмещает в себя все ячейки с данными: если данные находятся в ячейках G3:H10 и J2:K9, то свойство UsedRange возвращает объект Range – ячейки G2:K10.

Пример

Пусть на листе Лист1 данные расположены в ячейках G3:H10 и J2:K9. Процедура изменяет значения первых трех колонок занятого данными интервала ячеек на этом листе.

Public Sub type_sheets()

Cells.Clear

Range("G3:H10").Value = 1

Range("J2:K9").Value = 2

Worksheets("Лист1").UsedRange.Columns("A:C").Value = 10

End Sub

Оператор Cells.Clear очищает полностью рабочий лист.

Значения ячеек в первом интервале устанавливаются в 1, а значения ячеек во втором интервале устанавливаются в 2. Затем значения ячеек G2:I10 меняются на 10.