Позовавайки се на обекти в програмирането на Excel 2016 VBA

Позоваването на обект във вашия VBA код е важно, защото трябва да идентифицирате обекта, с който искате да работите в Excel 2016. В крайна сметка VBA не може да чете мислите ви — все още. Говори се, че обектът за четене на мисли ще бъде въведен в Excel 2019.

Можете да работите с цяла колекция от обекти с един замах. По-често обаче трябва да работите с конкретен обект в колекция (като конкретен работен лист в работна книга). За да препратите един обект от колекция, поставяте името на обекта или индексния номер в скоби след името на колекцията, както следва:

Работни листове („Лист1“)

Забележете, че името на листа е в кавички. Ако пропуснете кавичките, Excel няма да може да идентифицира обекта (и ще приеме, че това е име на променлива).

Ако Sheet1 е първият (или единствен) работен лист в колекцията, можете също да използвате следната справка:

работни листове(1)

В този случай числото не е в кавички. В крайна сметка? Ако препращате към обект, като използвате неговото име, използвайте кавички. Ако препращате към обект, като използвате неговия индекс, използвайте обикновен номер без кавички.

Какво ще кажете за листовете с диаграми? Листът с диаграма съдържа една диаграма. Има раздел за лист, но не е работен лист. Е, както се оказва, обектният модел има колекция, наречена Charts. Тази колекция съдържа всички обекти на листа с диаграми в работна книга (и не включва диаграми, вградени в работен лист).

И само за да поддържаме нещата логични, има друга колекция, наречена Sheets. Колекцията Sheets съдържа всички листове (работни листове и листове с диаграми) в работна книга. Колекцията Sheets е удобна, ако искате да работите с всички листове в работна книга и не ви пука дали са работни листове или листове с диаграми.

И така, един работен лист с име Sheet1 е член на две колекции: колекция Worksheets и колекция Sheets. Можете да се обърнете към него по един от двата начина:

Работни листове („Лист1“)
Листове („Лист1“)

Навигиране през йерархията

Ако искате да работите с обекти на Excel, всички те са под обекта Application. Затова започнете, като напишете Application .

Всеки друг обект в обектния модел на Excel е под обекта Application. Можете да стигнете до тези обекти, като се придвижите надолу по йерархията и свържете всеки обект по пътя си с оператора точка (.). За да стигнете до обекта Workbook с име Book1.xlsx, започнете с обекта Application и отидете надолу до обекта за колекция Workbooks:

Application.Workbooks(“Book1.xlsx”)

За да отидете по-далеч до конкретен работен лист, добавете оператор на точка и отворете обекта за колекция Worksheets:

Application.Workbooks(“Book1.xlsx”).Worksheets(1)

Все още не е достатъчно далеч? Ако наистина искате да получите стойността от клетка A1 на първия работен лист на работната книга с име Book1.xlsx, трябва да навигирате още едно ниво до обекта Range:

Application.Workbooks(“Book1.xlsx”).Worksheets(1).Range(“A1”).Стойност

Когато препращате към обект Range по този начин, той се нарича напълно квалифицирана препратка. Казахте на Excel точно какъв диапазон искате, на кой работен лист и в коя работна книга и не сте оставили нищо на въображението. Въображението е добро при хората, но не толкова добро в компютърните програми.

Между другото, имената на работни книги също имат точка, за да отделят името на файла от разширението (например Book1.xlsx). Това е просто съвпадение. Точката в името на файл изобщо няма нищо общо с оператора точка.

Опростяване на препратките към обекти

Ако трябваше да квалифицирате напълно всяка препратка към обект, която правите, кодът ви ще стане доста дълъг и може да бъде по-труден за четене. За щастие, Excel ви предоставя някои преки пътища, които могат да подобрят четливостта (и да ви спестят малко въвеждане). Като за начало, обектът Application винаги се предполага. Има само няколко случая, когато има смисъл да го напишете. Пропускането на препратка към обекта на приложението съкращава примера до

Работни книги(“Book1.xlsx”).Работни листове(1).Обхват(“A1”).Стойност

Това е доста добро подобрение. Но чакайте, има още. Ако сте сигурни, че Book1.xlsx е активната работна книга, можете да пропуснете и тази препратка. Сега сте до

Работни листове(1).Обхват(“A1”).Стойност

Сега стигаш донякъде. Познахте ли следващия пряк път? Това е вярно. Ако знаете, че първият работен лист е активният в момента работен лист, Excel приема тази препратка и ви позволява просто да пишете

Диапазон (“A1”). Стойност

Противно на това, което някои хора могат да мислят, Excel няма Cell обект. А клетка е просто обект Range, който се състои от само един елемент.

Описаните тук преки пътища са страхотни, но могат да бъдат и опасни. Ами ако смятате, че Book1.xlsx е активната работна книга? Може да получите грешка или по-лошо, да получите грешна стойност и дори да не осъзнаете, че е грешна. Поради тази причина често е най-добре да квалифицирате напълно своите препратки към обекти.

Структурата With-End With ви помага да квалифицирате напълно вашите препратки, но също така помага да направите кода по-четлив и намалява въвеждането. Най-доброто от двата свята!


Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирате Microsoft Word да отваря файлове в режим само за четене в Windows

Как да блокирам Microsoft Word да отваря файлове в режим само за четене в Windows Microsoft Word отваря файлове в режим само за четене, което прави невъзможно редактирането им? Не се притеснявайте, методите са по-долу

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате неправилно отпечатване на документи на Microsoft Word

Как да коригирате грешки при отпечатването на неправилни документи на Microsoft Word Грешките при отпечатването на документи на Word с променени шрифтове, разхвърляни абзаци, липсващ текст или изгубено съдържание са доста чести. Въпреки това недейте

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Изтрийте рисунки с писалка и маркер на вашите слайдове на PowerPoint

Ако сте използвали писалката или маркера, за да рисувате върху слайдовете на PowerPoint по време на презентация, можете да запазите чертежите за следващата презентация или да ги изтриете, така че следващия път, когато го покажете, да започнете с чисти слайдове на PowerPoint. Следвайте тези инструкции, за да изтриете чертежи с писалка и маркери: Изтриване на линии една в […]

Съдържание на библиотеката за стилове в SharePoint 2010

Съдържание на библиотеката за стилове в SharePoint 2010

Библиотеката със стилове съдържа CSS файлове, файлове с разширяем език на стиловия език (XSL) и изображения, използвани от предварително дефинирани главни страници, оформления на страници и контроли в SharePoint 2010. За да намерите CSS файлове в библиотеката със стилове на сайт за публикуване: Изберете Действия на сайта→Преглед Цялото съдържание на сайта. Появява се съдържанието на сайта. Библиотеката Style се намира в […]

Форматирайте числата в хиляди и милиони в отчети на Excel

Форматирайте числата в хиляди и милиони в отчети на Excel

Не затрупвайте аудиторията си с огромни числа. В Microsoft Excel можете да подобрите четливостта на вашите табла за управление и отчети, като форматирате числата си така, че да се показват в хиляди или милиони.

Как да споделяте и следвате сайтове на SharePoint

Как да споделяте и следвате сайтове на SharePoint

Научете как да използвате инструменти за социални мрежи на SharePoint, които позволяват на индивиди и групи да общуват, да си сътрудничат, споделят и да се свързват.

Как да конвертирате дати в юлиански формати в Excel

Как да конвертирате дати в юлиански формати в Excel

Юлианските дати често се използват в производствени среди като времеви печат и бърза справка за партиден номер. Този тип кодиране на дата позволява на търговците на дребно, потребителите и обслужващите агенти да идентифицират кога е произведен продуктът и по този начин възрастта на продукта. Юлианските дати се използват и в програмирането, военните и астрономията. Различно […]

Как да създадете уеб приложение на Access

Как да създадете уеб приложение на Access

Можете да създадете уеб приложение в Access 2016. И така, какво всъщност е уеб приложение? Е, уеб означава, че е онлайн, а приложението е просто съкращение от „приложение“. Персонализирано уеб приложение е онлайн приложение за база данни, достъпно от облака с помощта на браузър. Вие създавате и поддържате уеб приложението в настолната версия […]

Лента за бързо стартиране в SharePoint 2010

Лента за бързо стартиране в SharePoint 2010

Повечето страници в SharePoint 2010 показват списък с връзки за навигация в лентата за бързо стартиране в лявата част на страницата. Лентата за бързо стартиране показва връзки към представено съдържание на сайта, като списъци, библиотеки, сайтове и страници за публикуване. Лентата за бързо стартиране включва две много важни връзки: Връзка към цялото съдържание на сайта: […]

Какво означават съобщенията за грешка на Solver в Excel?

Какво означават съобщенията за грешка на Solver в Excel?

За прости проблеми Solver в Excel обикновено бързо намира оптималните стойности на променливата Solver за целевата функция. Но в някои случаи Solver има проблеми с намирането на стойностите на променливата Solver, които оптимизират целевата функция. В тези случаи Solver обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]