Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Dim oSheet As Excel.Worksheet




Dim oWbk As Excel.Workbook

Set oWbk = oExcel.Workbooks.Add() 'Создаем новую книгу

Set oSheet = oWbk.Worksheets.Item("Лист1") 'Находим Лист1

oSheet.Name = "Новый лист" 'Присваиваем ему имя "Новый лист"

Обратите внимание, что в английской версии Excel этот код не пройдет, поскольку листы там по умолчанию называются "Sheet1", "Sheet2" и т. п. Если вы используете в коде имена листов, заданные по умолчанию, и при этом вашей программе придется работать на компьютерах с разноязычными версиями Excel, обязательно предусмотрите дополнительные проверки или просто используйте номера листов вместо их имен.

У коллекции Sheets есть привычные нам свойства и методы коллекций VBA (Count, Item, Add(), Delete()). Другие свойства и методы удобнее применять для объекта Worksheet (Visible(), Copy(), Move(), PrintOut(), PrintPreview(), Select()), поскольку все равно нам придется указывать конкретный лист. Однако для этой коллекции предусмотрен и один специфический метод FillAcrossSheets() — скопировать объект диапазона Range (полностью, только содержимое или только оформление) во все листы данной книги.

Властивості об’єкту Worksheet.

Cells — одно из наиболее часто используемых свойств. Работает точно так же, как и рассмотренное ранее одноименное свойство объекта Application, за исключением того, что вам не придется ограничиваться только активным листом. Аналогично работают свойства Columns и Rows.

Range — самое важное свойство объекта Worksheet. Возвращает объект Range (диапазон ячеек), который в объектной модели Excel занимает примерно такое же место, что и одноименный объект в объектной модели Word.

UsedRange — свойство, которое возвращает объект Range, представляющий собой прямоугольную область, включающую все непустые ячейки листа. Удобно использовать для копирования или форматирования.

Visible — свойство, которое позволяет спрятать лист от пользователя (например, если он используется для служебных целей).

Методи об’єкту Worksheet.

Activate(), Calculate(), Copy(), Paste(), Delete(), Move(),SaveAs(), PrintOut()— эти методы нам уже знакомы. Отличие заключается только в том, что теперь эти методы могут применяться для выбранного вами листа.

 

5. Приклади створення макросів за тематикою лекції

Розглянемо макрос, що визначає, яка книга є активною, який лист у цій книзі є активним і скільки усього листів у поточній книзі.

Dim book As String оголошення рядкової змінної book

Dim sheet As String оголошення рядкової змінної sheet

Dim addr As String оголошення рядкової змінної addr

addr = "C" формування першого елемента адреси

book = Application.ActiveWorkbook.Name ім'я активної книги

sheet = Application.ActiveSheet.Name ім'я активного листа

Workbooks(book).Activate активація активної книги

Worksheets(sheet).Activate активація активного листа

Range("A1") = book ім'я комірки A1 = book

Range("B1") = sheet ім'я комірки B1 = book

Dim xList As Integer оголошення цілої змінної xList

xList = Application.Sheets.Count кількість листів у активній книзі

For x = 1 To xList

Dim s As String формування адреси комірки для

s = addr + LTrim(Str(x)) запису туди чергового імені листа

Range(s) = Application.Sheets.Item(x).Name книги




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


Дата добавления: 2013-12-14; Просмотров: 554; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.