Предметът и работата на програмата с клетки на VBA средства
Обект Excel.Range, програма за работа с клетки и варира (комплекти) клетки VBA означава създаване Excel.Range обект свойства, методи и събития Excel.Range обект
Може би най-често се използва обекта в йерархията на обектния модел на Excel - обект Range. Това може да бъде една клетка, няколко клетки (включително не-съседни клетки или групи от несъседни клетки) или лист. Ако в Word можете да използвате за въвеждане на данни, както е диапазона на обект, и избор на обект, в Excel че всичко се свежда до диапазона на обект:
- ако имате нужда да въвеждат данни в клетка, или форматирайте го, вие трябва да получите най-Range обект, представляващ клетка;
- ако искате да направите нещо с която сте избрали клетки, трябва да получите най-Range обекта, представляващи разпределението;
- ако просто трябва нещо да се направи с група от клетки, първото действие на твое - отново получи Range обект, представляващ група от клетки.
- най-лесният и най-лесния начин - да се възползват от Range имота. Тази функция е предвидена за обекти за кандидатстване, работен лист, както и диапазона на обект (ако решите да се създаде нова гама на базата на вече съществуващ). Например, може да получи препратка към обекта Range, представляващи клетка A1, можете да:
Дим портокал Range
Задайте оранжево = Работни листове ( "Sheet1"). Range ( "A1")
И диапазона от клетки A1 за D10 - както следва:
Дим портокал Range
Определете оранжево = таблици ( "Sheet1") обхват ( "А1: D10").
С използването на свойствата на обекта Range Range трябва да бъдат много внимателни. Фактът, че Excel създава Range обект въз основа на виртуалния лист със собствена номерация. Затова следния код:
Задайте oRange1 = Работни листове ( "Sheet1"). Range ( "C1")
Определете oRange2 = oRange1.Range ( "В1")
20 не предписва стойност в клетка В1, както може да бъде разбрано от кода и в клетка D1 (т.е., В1 по отношение на виртуален лист започвайки с С1).
- Втори метод - използва Клетките собственост. Възможности за този имот е по-малко - да можем да изведем кръг, състоящ се само от една клетка. Но ние можем да използваме по-удобен синтаксис (по отношение на предаването на променливите се движат във всяка посока по всяко брой клетки и т.н.). Например, за да се получи препратка към клетка D1 тип код може да се използва:
Дим портокал Range
Определете оранжево = таблици ( "Sheet1"). Клетките (1, 4)
За да получите най-диапазона, състоящ се от няколко клетки, той е удобен за използване свойствата на планина и клетки заедно:
Комплект оранжево = обхват (клетки (1, 1), клетките (5, 3))
- Третият начин - да се възползват от многобройните свойства на обекта Range, които ви позволяват да се промени обхватът на тока, или да го създаде на базата на нова. Тези свойства ще бъдат обсъдени по-долу.
Обикновено, след желаната клетка се намира, е необходимо да се напише нещо. За тази цел се използва стойността на имота, като например:
oRange.Value = "Моята стойност"
Тъй като Range обекта от функционална гледна точка е много важно, че свойствата и методите е много много (и за комфортна работа в Excel те трябва да знаят). По-долу са някои от най-upotrebimo свойства:
sColumnName = Mid (oRange.Address, 2, (Instr (2, oRange.Address, "$") - 2))
Номерът на линия - толкова.
sRowNumber = Mid (oRange.Address, (Instr (2, oRange.Address, "$") + 1))
На пръв поглед изглежда сложно, но всъщност е много прост - за името на колоната, ние просто да вземем всичко, което имаме, е между първите признаци за долар (това е ние винаги сме първият знак), а второто, и да предприеме всички номерата на редовете, които ние след втория знака за долар. Намерете този втори знак за долар може да бъде изграден с помощта на функцията за инстр (), както и да вземат правилното броя на знаците, като се започне всеки от е да се използва вградената функция Mid ().
- AllowEdit - този имот е само за четене, за да се определи дали потребителят може да редактира тази клетка (клетка комплект) на защитено списък. Използва се за инспекции.
- Области - Имот изключително важно. Фактът, че, както вече бе споменато, целта обхват може да се състои от набор от несъседни клетки. Много от методите по отношение на такива ленти непредсказуемо поведение или просто върне грешка. Области имот ви дава възможност да се прекъсне тези персонализирани диапазони до набор стандарт. По този начин, създадени Range обекти ще бъдат поставени в зоните за събиране. Този имот може да се използва за проверка на "нестандартни" обхват:
Ако Selection.Areas.Count> След 1
Debug.Print "гама от несъседни области"
Дим оранжево, oRange2 Както Range
Комплект оранжево = диапазон (Клетките (2, 2), клетките (5, 3))
Комплект oRange2 = oRange.Cells (1, 1) "А1 Вместо това получи препратка към B2
Debug.Print oRange2.Address "Така че е
Точно същите функции в свойствата ред и редове, колони и колони.
- Герои - лесен търсите имот ви дава възможност да се реши един труден проблем: как да се промени (или текстов формат) на текста в клетка, без да засяга останалата част от данните. Например, за да въвеждате текст в клетка A1, както и промяна на цвета на първата буква, можете да използвате кода
Дим портокал Range
Задайте оранжево = Range ( "A1")
oRange.Value = "My Text"
oRange.Characters (1, 1) .Font.Color = vbRed
Ако просто трябва да се промени на стойност, по-добре е да се използва стойността на имота - в третия ред на примера.
- Граф - връща броя на клетките в диапазон. Тя може да се използва за проверки.
- CurrentRegion - много удобна функция, която може да бъде полезно, например, когато копирате данни / износ, получени от външен източник (когато много ще тези данни, ние първоначално неизвестен). Тя връща обхват обект, който представлява набор заобиколен от празни клетки (които не е празна област, която съдържа източник на гама / клетка). Например, за да разпределят целия не е празна област около активната клетка, можете да използвате кода
- Зависимите - позволява да се получи обхват сайтове (вероятно включително несъседни област), които са зависими от началния обхват на клетките. Тя работи само за текущия лист - връзки към външни страници, които собствеността не се проследява. Например, за да изберете всички клетки, в зависимост от дейността, можете да използвате кода
- Работни листове ( "Sheet1"). Активирайте
- ActiveCell.Dependents.Select
- Край - Друг често използван свойства. Тя ви позволява да получите обект планина, представлява последната клетка в оригиналната диапазон. На едната страна ще се счита последната клетка, може да се определи като се използва предава параметър.
- Грешки - имот, който през Грешки колекция осигурява достъп до обектите на грешката, представляващи откритите грешки в интервала.
- Font - както в Word, този имот ви дава възможност да получат достъп до обект на шрифта, с които можете да персонализирате функциите на форматиране на текста в клетката (цвят, шрифт, размер на шрифта и т.н.)
- FormatConditions - възможност за създаване на свой собствен обект, който представлява вариант дизайна на клетки, които след това могат да се прилагат към различни клетки и диапазони.
- Формула - един от най-важните свойства на обекта обхват. И е на разположение, за да четат и пишат. Ако използвате за четене, той се връща в текста на формулата, предписан в клетката (вместо изчислената стойност), ако се използва за запис, като ви позволява да напише формулата в клетката. Ако използвате този имот за гамата, която включва няколко клетки, формулата е изписано на всички от порядъка на клетката. Пример за приложение на този имот може да изглежда така:
- Имоти FormulaLocal. като AddressLocal, тя позволява да се направят корекции за определени клетъчни номера в локализираната версия на Excel (за Excel Българска версия не е необходимо).
- FormulaHidden - възможност да се скрие формулата в диапазона от страна на потребителя. Тя работи само в защитен лист.
- HasFormula - проверка за присъствието на обхват от стойности изчислени (формули).
- Скрит - скрит диапазон. Ще работи само ако гамата включва най-малко един ред или колона, напълно, в противен случай се връща грешка.
- МВР - друг имот, свързан с форматиране. По принцип тя позволява да рисува диапазона от клетки.
- Т - позволява да се получи друг обект обхват, който се определя чрез изместване обхвата източник.
- Заключен - тази функция ви позволява да блокирате диапазон от клетки в лист за защита.
- Име - възможност да получите справка за специална обект на име Име диапазон. Графичният дисплей с неговите възможности могат да бъдат намерени чрез менюто Insert -> Name. Тя ви позволява да получите достъп до границите и формули по име и е до известна степен напомня на функционалността на отметката обект в Word.
- Следваща - да се премине към следващата клетка. Ако покривалото не е защитено, а след това на следващата клетка се смята за клетка надясно, ако се съхраняват - следната извън сключващи клетката.
- NumberFormat - възможност за задаване на един от предварително зададените формати за числа. Съответстваща на възможно броят на разделите Формат меню -> Клетки на екрана на графики.
- Изместване - тази функция ви позволява да получите нов Range обект с определен компенсира от оригинала. Например, за да получите клетка с отместване от три клетки нагоре отляво три подобни клетки могат да използват кода
- Ориентация функция ви позволява да се ориентират текста в клетките. Показва наклона в градуси. Например, за да поставите текста по диагонала, можете да използвате кода
- PageBreak - този имот обикновено се използва програмният вмъкнете нова страница. Нейното прилагане може да изглежда така:
- всички имоти, които започват с Pivot .... са възложени за работа с обобщени таблици Pivot на обект (обобщена). Работата с него ще бъдат обсъдени по-долу.
- QueryTable - това е една много важна функция ви позволява да се свържете с QueryTable обект - получена от външен източник на данни. Този имот за обекта Range ви позволява да получите справка обект QueryTable. който е в този диапазон. Повече информация за обект QueryTable ще бъдат обсъдени по-долу.
- Range - този имот, както е споменато по-горе, за да създадете нов кръг на базата на съществуващата. Трябва да се помни за функциите на номера на клетката, в този случай.
- Resize - възможност за промяна на актуалната гама. Например, тя се увеличава до една колона отдясно и един ред може да изглежда така:
oRange.Resize (oRange.Rows.Count + 1, oRange.Columns.Count + 1) .Изберете
- ShrinkToFit - тази функция ви позволява автоматично да коригирате размера на текста в границите, така че текста пристъп в ширината на колона.
- Стил - Този имот ви дава възможност да се върне на обекта стил, представляващ стила на посочения диапазон. Графичният дисплей, който ви позволява да се направи обект стил, може да бъде направено чрез Format меню -> Style.
- Текст - възможността да се получи стойността на първия кръг клетката на стойност от тип String. За обекта Range, този хотел е само за четене.
- Валидиране - тази функция ви позволява да се върнете на обекта валидиране, с които можете да конфигурирате опитния обсег въвеждане на данни.
- Цена - най-често използваната собственост на обекта Range. Тя позволява да се получи или присвояване на стойност (с цифри, текст или други) клетки варират. По същия начин, със същата цел на стойност 2 имота, като единствената разлика - тази функция не поддържа типа данни валута, както и датата.
- WrapText - опция, за да включите / изключите превода на текста на следващия ред в диапазон от клетки.
Сега - за методите на обект Обхват:
Определете oRange2 = oRange.SpecialCells (xlCellTypeBlanks)
Orange 2. Изберете "проверка дали това
- Междинна сума () позволява да се изчисли общата стойност на диапазона (можете да изберете акумулатор функция и много други параметри) метод.
- Таблица () метод ви позволява да създадете таблица на базата на предаден колона, ред и функциите да се използва за изчисляване на клетката от таблицата. Пример на документацията за този метод за автоматично генериране таблицата за умножение.
- TextToColumns () - комплекс метод, който позволява да се разделят на колоните в обхвата на няколко колони в съответствие с определен алгоритъм. Получава множество избираеми параметри.