Полезни свойства на обект за обхват за Excel VBA, които всеки трябва да знае

Обектът Range има десетки свойства. Можете да пишете VBA програми без прекъсване през следващите 12 месеца и никога да не ги използвате всички. Тук получавате кратък преглед на някои от най-често използваните свойства на Excel VBA Range. За пълни подробности се консултирайте със системата за помощ във VBE. (Вижте тези допълнителни ресурси за помощ с Excel VBA .)

Някои свойства на Excel VBA Range са свойства само за четене, което означава, че вашият код може да разглежда техните стойности, но не може да ги промени („Вижте, но не докосвайте“). Например всеки обект на Excel VBA Range има свойство Address, което съдържа адреса на диапазона. Можете да получите достъп до това свойство само за четене, но не можете да го промените – което е напълно логично, когато мислите за него.

Между другото, примерите, които следват, обикновено са твърдения, а не завършени процедури. Ако искате да опитате някое от тях (а трябва), създайте подпроцедура, за да го направите. Също така, много от тези VBA изрази работят правилно само ако работен лист е активният лист.

Excel VBA: Свойството на стойността

Свойството Value представлява стойността, съдържаща се в клетка. Това е свойство за четене и запис, така че вашият VBA код може или да чете, или да промени стойността.

Следното изявление показва поле за съобщение, което показва стойността в клетка A1 на Sheet1:

MsgBox Worksheets("Sheet1").Обхват("A1").Стойност

Разбираемо е, че можете да четете свойството Value само за едноклетъчен обект Range. Например следното изявление генерира грешка:

MsgBox Worksheets("Sheet1").Обхват("A1:C3").Стойност

Можете обаче да промените свойството Value за диапазон от всякакъв размер. Следното изявление въвежда числото 123 във всяка клетка в диапазон:

Работни листове("Лист1").Обхват("A1:C3").Стойност = 123

Стойността е свойството по подразбиране за обект Excel VBA Range. С други думи, ако пропуснете свойство за диапазон, Excel използва неговото свойство Value. Следните изрази въвеждат стойност от 75 в клетка A1 на активния работен лист:

Диапазон ("A1"). Стойност = 75
Обхват("A1") = 75

Excel VBA: Свойството Text

Свойството Text връща низ, който представлява текста, както е показан в клетка - форматираната стойност. Свойството Text е само за четене. Да предположим, че клетка A1 съдържа стойността 12.3 и е форматирана да показва два знака след десетичната запетая и знак за долар ($12.30). Следното изявление показва поле за съобщение, съдържащо $12,30:

MsgBox Worksheets("Sheet1").Range("A1").Text

Но следващият израз показва поле за съобщение, съдържащо 12.3:

MsgBox Worksheets("Sheet1").Обхват("A1").Стойност

Ако клетката съдържа формула, свойството Text връща резултата от формулата. Ако клетка съдържа текст, свойството Text и свойството Value винаги връщат едно и също нещо, тъй като текстът (за разлика от числото) не може да бъде форматиран за показване по различен начин.

Excel VBA: Свойството Count

Свойството Count връща броя на клетките в диапазон. Той брои всички клетки, а не само непразните клетки. Count е свойство само за четене, точно както бихте очаквали. Следното изявление осъществява достъп до свойството Count на диапазон и показва резултата (9) в поле за съобщение:

MsgBox Range("A1:C3"). Брой

Excel VBA: Свойствата на колона и ред

Свойството Column връща номера на колоната на диапазон от една клетка. Неговият помощник, свойството Row, връща номера на реда на диапазон от една клетка. И двете са свойства само за четене. Например, следното изявление показва 6, защото клетка F3 е в шестата колона:

MsgBox Sheets("Sheet1").Обхват("F3").Колона

Следващият израз показва 3, защото клетка F3 е на третия ред:

MsgBox Sheets("Sheet1").Range("F3").Row

Ако обектът на Excel VBA Range се състои от повече от една клетка, свойството Column връща номера на колоната на първата колона в диапазона, а свойството Row връща номера на реда на първия ред в диапазона.

Не бъркайте свойствата колона и ред със свойствата колони и редове. Свойствата Column и Row връщат една стойност. Свойствата Columns и Rows, от друга страна, връщат обект Range. Каква разлика прави "s".

Excel VBA: Свойството Адрес

Address, свойство само за четене, показва адреса на клетката за обект Range като абсолютна препратка (знак за долар преди буквата на колоната и преди номера на реда). Следното изявление показва полето за съобщения, показано по-долу:

Диапазон на MsgBox(Клетки(1, 1), Клетки(5, 5)). Адрес

Полезни свойства на обект за обхват за Excel VBA, които всеки трябва да знае

Това поле за съобщение показва свойството Address на диапазон 5 на 5.

Excel VBA: Свойството HasFormula

Свойството HasFormula (което е само за четене) връща True, ако диапазонът от една клетка съдържа формула. Връща False, ако клетката съдържа нещо различно от формула (или е празна). Ако диапазонът се състои от повече от една клетка, VBA връща True само ако всички клетки в диапазона съдържат формула или False, ако всички клетки в диапазона нямат формула. Свойството връща Null, ако диапазонът съдържа смес от формули и неформули. Null е нещо като ничия земя: Отговорът не е нито вярно, нито невярно и всяка клетка в диапазона може или не може да има формула.

Трябва да внимавате, когато работите със свойства, които могат да върнат Null. По-конкретно, единственият тип данни, който може да се справи с Null, е Variant.

Например, приемете, че клетка A1 съдържа стойност, а клетка A2 съдържа формула. Следните изрази генерират грешка, тъй като диапазонът не се състои от всички формули или всички неформули:

Dim FormulaTest като булев
FormulaTest = Range("A1:A2").Има формула

Булевият тип данни може да обработва само True или False. Null кара Excel да се оплаква и да показва съобщение за грешка. За да коригирате този тип ситуация, най-доброто нещо, което трябва да направите, е да се уверите, че променливата FormulaTest е декларирана като Variant, а не като Boolean. Следващият пример използва удобната функция TypeName на VBA (заедно с конструкция If-Then-Else), за да определи типа данни на променливата FormulaTest. Ако диапазонът има смесица от формули и неформули, полето за съобщение показва Смесено! В противен случай показва True или False .

Подформули за проверка ()
  Dim FormulaTest като вариант
  FormulaTest = Range("A1:A2").Има формула
  Ако TypeName(FormulaTest) = "Null" Тогава
    MsgBox "Смесено!"
  иначе
    MsgBox FormulaTest
  Край, ако
Край под

Excel VBA: Свойството на шрифта

Свойството може да върне обект. Свойството Font на обект Excel VBA Range е друг пример за тази концепция в действие. Свойството Font връща обект Font.

Обектът Font, както може да очаквате, има много достъпни свойства. За да промените някакъв аспект на шрифта на диапазона, първо трябва да получите достъп до обекта Font на диапазона и след това да манипулирате свойствата на този обект. Това може да е объркващо, но може би този пример ще помогне.

Следващият израз използва свойството Font на обекта Range, за да върне обект Font. Тогава свойството Bold на обекта Font е настроено на True. На обикновен английски, това изявление прави клетката да се показва с удебелен шрифт:

Диапазон("A1").Font.Bold = Вярно

Истината е, че всъщност не е нужно да знаете, че работите със специален обект Font, който се съдържа в обект Excel VBA Range. Докато използвате правилния синтаксис, той работи добре. Често записването на вашите действия с макрорекордера ви казва всичко, което трябва да знаете за правилния синтаксис.

Excel VBA: Вътрешната собственост

Ето още един пример за свойство, което връща обект. Свойството Interior на обект Range връща обект Interior (странно име, но така се нарича). Този тип препратка към обект работи по същия начин като свойството Font.

Например, следният израз променя свойството Color на обекта Interior, съдържащ се в обекта Range:

Диапазон("A1").Интериор.Цвят = 8421504

С други думи, това твърдение променя фона на клетката в средно сив. Какво е това? Не знаехте, че 8421504 е средно сиво? За някои прозрения в прекрасния свят на цветовете на Excel, вижте близката странична лента „Бърз и мръсен цветен грунд“.

Excel VBA: Свойството на формулата

Свойството Formula представлява формулата в клетка. Това е свойство за четене и запис, така че можете да получите достъп до него, за да видите формулата в клетка или да вмъкнете формула в клетка. Например следното изявление въвежда формула SUM в клетка A13:

Диапазон("A13").Формула = "=SUM(A1:A12)"

Забележете, че формулата е текстов низ и е затворена в кавички. Също така забележете, че формулата започва със знак за равенство, както правят всички формули.

Ако самата формула съдържа кавички, нещата стават малко трудни. Кажете, че искате да вмъкнете тази формула с помощта на VBA:

=SUM(A1:A12)&" Stores"

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

Диапазон("A13").Формула = "=SUM(A1:A12)&"" Магазини"""

Между другото, можете да получите достъп до свойството Formula на клетката, дори ако клетката няма формула. Ако клетка няма формула, свойството Formula връща същото като свойството Value.

Ако трябва да знаете дали дадена клетка има формула, използвайте свойството HasFormula.

Имайте предвид, че VBA „говори“ американски английски. Това означава, че за да поставите формула в клетка, трябва да използвате синтаксиса на САЩ. Ако използвате неанглийска версия на Excel, прочетете за свойството FormulaLocal в системата за помощ.

Excel VBA: Свойството NumberFormat

Свойството NumberFormat представлява числовия формат (изразен като текстов низ) на обекта Range. Това е свойство за четене и запис, така че вашият VBA код може или да проучи числовия формат, или да го промени. Следното изявление променя числовия формат на колона A на процент с два десетични знака:

Columns("A:A").NumberFormat = "0.00%"

Следвайте тези стъпки, за да видите списък с други формати на числа (още по-добре, включете рекордера на макроси, докато правите това):

Активирайте работен лист.

Натиснете Ctrl+1 за достъп до диалоговия прозорец Форматиране на клетки.

Щракнете върху раздела Номер.

Изберете категорията по избор, за да видите и приложите някои допълнителни низове за числови формат.


Как да блокирате 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 обикновено показва съобщение или съобщение за грешка, което описва или обсъжда проблема, който […]