VBA обекти

Съдържание

Обектите на Excel VBA се отнасят до единични „обекти“, съставени от код и данни. Самото приложение на Excel е обект, както и работни книги, работни листове, диапазони от клетки и форми. Всеки обект има свързани свойства и методи. Обектите могат да съдържат и други обекти и обектът на колекциите се използва за препратка към група от същите обекти на Excel.

В този урок ще разгледаме някои често използвани обекти на Excel.

Обект на приложение

Обектът на приложението се отнася до цялото приложение на Excel. Обектът Application съдържа обекта на работната книга.

Следният код използва свойството WindowState на обекта Application, за да настрои прозореца на Excel до максималния наличен размер:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedEnd Sub

Обект на работни книги

Обектът Работни книги се отнася до колекцията от всички отворени в момента работни книги на Excel.

Следният код използва метода Workbooks.Add, за да създаде нова работна книга и да я добави към колекцията:

12345 Добавяне на допълнителноANewWorkbookToTheWorkbooksCollection ()Работни книгиEnd Sub

Можете да получите достъп до отделна работна книга в колекцията на работните книги чрез нейния индекс номер или име. Така че можете да се обърнете към работна книга, наречена ExcelWb, като използвате работни книги („ExcelWB“).

Обект на работна книга

Обектът на работната книга е част от колекцията Workbooks. Обектът на работната книга съдържа колекцията от работни листове (работни листове) и колекцията от листове (работни листове, диаграми и макролистове). Обектът ActiveWorkbook се отнася до работната книга, която е активна.

Следният код използва метода ActiveWorkbook.Save за запазване на текущата активна работна книга:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveEnd Sub

Обект на листове

Обектът на листове се отнася до колекцията от всички работни листове, диаграми и макролистове в работна книга. Следният код използва метода Sheets.Add за добавяне на нов работен лист, наречен ExtraSheet, след последния работен лист в работната книга:

123456 Допълнително добавянеANewSheet ()ActiveWorkbook.Sheets.Add (After: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Тип: = xlРаботен лист) .Name = "ExtraSheet"End Sub

Обърнете внимание на синтаксиса на метода Sheets.Add е:
Таблици.Добавяне (Преди, След, Броя, Тип) където:

-Преди е незадължително и указва, че новият лист трябва да се добави преди съществуващ лист.

-After е незадължителен и указва, че новият лист трябва да се добави след съществуващ лист.

-Count е незадължителен и определя броя на листовете за добавяне.

-Типът е незадължителен и определя типа на листа. xlWorksheet ще добави нов работен лист, xlChart ще добави нов лист с диаграма, а xlExcel4MacroSheet или xlExcel4IntlMacroSheet ще добавят нов макролист. Ако е празно, се използва xlWorksheet по подразбиране.

Можете да получите достъп до отделен лист в колекцията от листове чрез неговия индекс номер или име. Така че можете да се обърнете към работен лист, наречен SheetOne, като използвате Sheets („SheetOne“).

Обект на работни листове

Обектът Работни листове се отнася до колекцията от всички работни листове в работна книга. Следният код използва метода Worksheets.Add за добавяне на нов работен лист:

12345 Допълнително добавянеANewSheet ()Работни листове.ДобавянеEnd Sub

Можете да получите достъп до отделен лист в колекцията на работни листове чрез неговия индекс номер или име. Така че можете да се обърнете към работен лист, наречен SheetTwo, като използвате работни листове („SheetTwo“).

Обект на работен лист

Обектът на работен лист е част от колекцията Worksheets. Обектът на работния лист съдържа обекта range и други обекти. Обектът ActiveSheet се отнася до листа, който е активен.

Следният код променя ориентацията на страницата на активния лист в хоризонтална:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub

Обърнете внимание, че обектът Sheet съдържа обекта PageSetup и неговото свойство за ориентация е зададено на xlLandscape.

Range Object

Обектът Range може да се отнася до една клетка или набор от клетки в работен лист. Следният код ви показва как да използвате Range.Select метод за избор на клетки A1: B1:

12345 ПодизбиранеARange ()Обхват ("A1: B1"). ИзберетеEnd Sub

Форми Обект

Обектът Shapes се отнася до колекцията от всички форми в работен лист. Следният код би избрал всички форми в ActiveSheet:

12345 Подизбиране на AllTheShapes ()ActiveSheet.Shapes.SelectAllEnd Sub

Обект на форма

Обектът Shape е част от колекцията Shapes. Следният код ще създаде закръглена форма на правоъгълник и след това ще зададе свойството на името на обекта с форма:

123456789 Под използване на TheShapeObject ()С работни листове (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Заоблен правоъгълник"Край сEnd Sub

Обектният модел на Excel VBA

Моделът на VBA обект на Excel описва йерархията на всички обекти, които можете да използвате в Excel. Например, можете да използвате обекта Workbooks, за да се позовавате на всички останали обекти индиректно или директно. Следният код ви показва как да изберете клетка A1, като използвате йерархичната структура:

12345 Sub UsingTheHierachicalStructure ()Работни книги ("Книга1"). Работни листове ("Лист1"). Диапазон ("A1"). ИзберетеEnd Sub

Деклариране и присвояване на променлива на обект

Можете да декларирате и присвоите обект на променлива, като използвате ключовите думи Dim и Set.

Например:

12 Dim ws като работен листЗадайте ws = ActiveWorkbook.ActiveSheet

Следният код ви показва как да декларирате и присвоите обект Range на променлива:

12345678910111213141516 Sub AssigningARangeToAVariable ()Dim rngOne As ObjectЗадайте rngOne = Обхват ("A1: C1")rngOne.Font.Bold = ВярноС rngOne.Font.Bold = Вярно.Font.Name = "Calibri".Размер на шрифта = 9.Шрифт.цвет = RGB (35, 78, 125).Интериор.Цвят = RGB (205, 224, 180).Граници (xlEdgeBottom) .LineStyle = xl НепрекъснатоКрай сEnd Sub

Резултатът е:

Важно е да разберете как обектите работят за овладяване на VBA. Можете да научите повече с нашия интерактивен урок за VBA.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave