Remkomplekty.ru

IT Новости из мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Currentregion vba excel описание

Currentregion vba excel описание

ьФЙ ДЧБ УЧПКУФЧБ ПЮЕОШ РПМЕЪОЩ, ЛПЗДБ РТПЗТБННБ ТБВПФБЕФ У ДЙБРБЪПОБНЙ, ТБЪНЕТБНЙ ЛПФПТЩИ чЩ ОЕ НПЦЕФЕ ХРТБЧМСФШ. фЕЛХЭЙК ТЕЗЙПО (current region) -ЬФП ДЙБРБЪПО СЮЕЕЛ, ПЗТБОЙЮЕООЩК РХУФЩНЙ УФТПЛБНЙ Й ЛПМПОЛБНЙ ЙМЙ УПЮЕФБОЙЕН РХУФЩИ УФТПЛ, РХУФЩИ ЛПМПОПЛ Й ЗТБОЙГ ТБВПЮЕЗП МЙУФБ.

CurrentRegion ? УЧПКУФЧП ПВЯЕЛФБ Range. оБ МЙУФЕ НПЦЕФ ВЩФШ ОЕУЛПМШЛП ФЕЛХЭЙИ ТЕЗЙПОПЧ ? ЧУЕ ЪБЧЙУЙФ ПФ ФПЗП, Л ЛБЛПНХ ПВЯЕЛФХ Range чЩ ПВТБЭБЕФЕУШ.

дПРХУФЙН, МЙУФ Sheet1 УПДЕТЦЙФ УРЙУПЛ, ДМС ЛПФПТПЗП чЩ ИПФЙФЕ ХУФБОПЧЙФШ ЖПТНБФ ЮЙУЕМ. еДЙОУФЧЕООПЕ, ЮФП ЙЪЧЕУФОП ПВ ЬФПН УРЙУЛЕ, ? ПО ОБЮЙОБЕФУС У СЮЕКЛЙ б1; ЮЙУМП УФТПЛ Й ЛПМПОПЛ Ч ОЕН чЩ ОЕ ЪОБЕФЕ. ч УМЕДХАЭЕН РТЙНЕТЕ РПЛБЪБОП, ЛБЛ ПФЖПТНБФЙТПЧБФШ ФБЛПК УРЙУПЛ ЮЕТЕЪ УЧПКУФЧП CurrentRegion:

Sub FormatRange()
Set myRange = Worksheets(«Sheet1»).Range(«A1»).CurrentRegion
myRange.NumberFormat = «0.0»
End Sub

йУРПМШЪПЧБООЩК ДЙБРБЪПО (used range) ПЗТБОЙЮЕО МЕЧПК ЧЕТИОЕК Й РТБЧПК ОЙЦОЕК ЪБРПМОЕООЩНЙ СЮЕКЛБНЙ, ОБЙВПМЕЕ ХДБМЕООЩНЙ ДТХЗ ПФ ДТХЗБ. ч ЬФПН ДЙБРБЪПОЕ УПДЕТЦБФУС ЧУЕ ЪБРПМОЕООЩЕ СЮЕКЛЙ МЙУФБ, Б ФБЛЦЕ ТБУРПМПЦЕООЩЕ НЕЦДХ ОЙНЙ РХУФЩЕ СЮЕКЛЙ. оБ МЙУФЕ НПЦЕФ ВЩФШ ФПМШЛП ПДЙО ФБЛПК ДЙБРБЪПО, Й UsedRange СЧМСЕФУС УЧПКУФЧПН ПВЯЕЛФБ Worksheet, Б ОЕ Range.

рХУФШ БЛФЙЧОЩК МЙУФ УПДЕТЦЙФ ТЕЪХМШФБФЩ ЛБЛЙИ-ФП ЙЪНЕТЕОЙК ЪБ ПРТЕДЕМЕООЩК РЕТЙПД ЧТЕНЕОЙ. ч РЕТЧПК ЛПМПОЛЕ ЙУРПМШЪПЧБООПЗП ДЙБРБЪПОБ ЪБРЙУБОЩ ДБФЩ, ЧП ЧФПТПК ? ЧТЕНС, Б Ч ФТЕФШЕК Й ЮЕФЧЕТФПК ? ТЕЪХМШФБФЩ ЙЪНЕТЕОЙК. чЩ ИПФЙФЕ ОБРЙУБФШ ЛПД, ЛПФПТЩК ПВЯЕДЙОСЕФ РБТЩ ?ДБФБ-ЧТЕНС? Ч ПДОП ЪОБЮЕОЙЕ, РТЕПВТБЪХЕФ ЧТЕНС ЙЪ GMT (Greenwich Mean Time ? ЧТЕНС РП зТЙОЧЙЮХ) Ч PST (Pacific Standard Time ? УФБОДБТФОПЕ ЧТЕНС фЙИППЛЕБОУЛПЗП РПВЕТЕЦШС уыб) Й РТЙНЕОСЕФ Л РПМХЮЕООПНХ ЪОБЮЕОЙА ЖПТНБФ ДБФЩ. ч ФБВМЙГЕ НПЗХФ ВЩФШ РХУФЩЕ УФТПЛЙ Й ЛПМПОЛЙ. юФПВЩ РПМХЮЙФШ ЧЕУШ ЙУРПМШЪПЧБООЩК ДЙБРБЪПО, ЧЛМАЮБС РХУФЩЕ УФТПЛЙ, НПЦОП ЪБДЕКУФЧПЧБФШ УЧПКУФЧП UsedRange. чПФ ПДЙО ЙЪ ЧБТЙБОФПЧ РТЕПВТБЪПЧБОЙС Й ЖПТНБФЙТПЧБОЙС ДБФ Й ЧТЕНЕОЙ:

Sub ConvertDates()
Set myRange = ActiveSheet.UsedRange
myRange.Columns («C») .Insert
Set dateCol = myRange.Columns(«C»)
For Each У In dateCol.Cells
If c.0ffset(0, -1).Value <> «» Then
c.FormulaR1C1 = «=RC[-2]+RC[-1]-(8/24)»
End If
Next У
dateCol.NumberFormat = «mrnm-dd-yyyy hh:mm»
dateCol.Copy
dateCol.PasteSpecial Paste.: =xlValues
my Range.Columns( «A:B» ).Dele te
dateCol.AutoFit
End Sub

ъБНЕФШФЕ: ЮФПВЩ РПМХЮЙФШ ФТЕФША ЛПМПОЛХ Ч ЙУРПМШЪПЧБООПН ДЙБРБЪПОЕ, РТЙНЕОСЕФУС ЧЩТБЦЕОЙЕ ActiveSheet. UsedRange. Columns( «у»), ОП ОБ УБНПН МЙУФЕ ЬФБ ЛПМПОЛБ НПЦЕФ ВЩФШ МАВПК РП УЮЕФХ ? ЙУРПМШЪПЧБООПНХ ДЙБРБЪПОХ НПЗХФ РТЕДЫЕУФЧПЧБФШ РХУФЩЕ ЛПМПОЛЙ.

дТХЗЙЕ УЧПКУФЧБ Й НЕФПДЩ ПВЯЕЛФБ Range РПЪЧПМСАФ УФТПЙФШ ЧЕУШНБ УМПЦОЩЕ ЧЩТБЦЕОЙС, ЧПЪЧТБЭБАЭЙЕ РПДДЙБРБЪПОЩ (subranges) ЙМЙ ОБДДЙБРБЪПОЩ (super-ranges) ЬФПЗП ПВЯЕЛФБ. уТЕДЙ УЧПКУФЧ Й НЕФПДПЧ, ПВЩЮОП РТЙНЕОСЕНЩИ У ЬФПК ГЕМША, НПЦОП ПФНЕФЙФШ Areas, Cells, Columns, EntireColumn, EntireRow, Range Й Rows.

фЕЛУФ РПУПВЙС РПДЗПФПЧМЕО ОБ ПУОПЧЕ НБФЕТЙБМПЧ ЛОЙЗЙ
Microsoft Corporation. тХЛПЧПДУФЧП РТПЗТБННЙУФБ РП Visual Basic ДМС Microsoft Office 97 / рЕТ. У БОЗМ. — н.: йЪДБФЕМШУЛЙК ПФДЕМ «тХУУЛБС тЕДБЛГЙС» фпп » Channel Trading Ltd. «, 1997. — 544 У.: ЙММ.
c пТЙЗЙОБМШОПЕ ЙЪДБОЙЕ ОБ БОЗМЙКУЛПН СЪЩЛЕ, Microsoft Corporation , 1997
c тХУУЛЙК РЕТЕЧПД, Microsoft Corporation, 1997

Объекты Range и Selection

В иерархии Excel объект Range (диапазон) идет сразу после объекта worksheet. Объект Range является одним из ключевых объектов VBA. Объект Selection (выбор) возникает в VBA двояко — либо как результат работы метода Select, либо при вызове свойства selection. Тип получаемого объекта зависит от типа выделенного объекта. Чаще всего объект Selection принадлежит классу Range и при работе с ним можно использовать свойства и методы объекта Range. Интересной особенностью объектов Range и selection является то, что они не являются элементами никакого семейства объектов.

Адресация ячеек

При работе с объектом Range необходимо помнить, как в Excel ссылаются на ячейку рабочего листа. Имеются два способа ссылки на ячейки рабочего листа: относительная адресация (т. е. когда начало координат, задающее нумерацию строк и столбцов, связывается с объектом, вызвавшим Range) и абсолютная адресация.

Имя ячейки состоит из имени столбца (их 256 — А, В, . Z, АВ, . HZ, IA, . IV) и номера (1, . 16384).

Адресация задается индексом строки и индексом столбца. Например, R1C1, R2C3

Признаком абсолютной адресации является знак «$», предшествующий имени строки (абсолютной адресации на строку) или столбца (абсолютной адресации на столбец). Например, $А10, А$10 и $А$10 задают абсолютную адресацию на столбец А, строку 10 и ячейку А10 соответственно

Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является касз, то R[i]C[-1] дает ссылку на ячейку кзс2

Адресация ячейки рабочего листа является лишь частью полного адреса ячейки, который в общем случае включает имя рабочего листа и адрес книги. При задании полного адреса за именем листа следует знак «!», а адрес книги заключается в скобки. Например,

В первой строке данного примера дана относительная ссылка на ячейку AI активного рабочего листа, во второй — на ячейку AI рабочего листа листа активной книги, а в третьей на ячейку AI рабочего листа лист2 книги моякнига-xls текущего рабочего каталога.

Задание групп строк и столбцов с помощью объекта Range

Если в диапазоне указываются только имена столбцов или строк, то объект Range задает диапазон, состоящий из указанных столбцов или строк. Например, Range («А: с») задает диапазон, состоящий из столбцов А, в и с, а Range <"2: 2") - из второй строки. Другим способом работы со строками и столбцами являются методы ROWS (строки) и Columns (столбцы), возвращающие коллекции строк и столбцов. Например, столбцом А является columns (1), а второй строкой - ROWS (2).

Связь объекта Range и свойства Cells

Так как ячейка является частным случаем диапазона, состоящим только из единственной ячейки, объект Range также позволяет работать с ней. Объект cells (ячейки) — это альтернативный способ работы с ячейкой. Например, ячейка А2 как объект описывается Range («A2») или cells (1,2). В свою очередь объект ceils, вкладываясь в Range, также позволяет записывать диапа зон в альтернативном виде, который иногда удобен для работы, а именно,

Читать еще:  Vba excel array синтаксис

Range («А2:C3») И Range(Cells(1,2), Cells(3,3))

Определяют один и тот же диапазон.

Свойства и методы объекта Range

Объект Range позволяет сочетать гибкость VBA и мощь рабочего листа Excel. Более 400 встроенных функций рабочего листа существенно упрощают и делают более наглядным программирование на VBA.

Далее приводятся наиболее часто используемые свойства и методы объекта

Перечислим основные свойства объекта Range.

Объекты Range, Selection

Range и Selection — основные объекты, которые предоставляют разработчику доступ к объектам нижнего уровня вплоть до конкретной ячейки. Объект Range (диапазон) используется для работы с ячейками, строками, столбцами, а также их группами. Все объекты MS Excel (Application, Worksheet и сам объект Range) имеют свойство Range. Синтаксис этого свойства следующий:

Property Range (Cell_B [,Cell_E]) As Range.

Если указываются оба аргумента CellB и Cell E, то они определяют прямоугольную область, заданную наименьшим левым верхним углом (параметр Cell В) и максимальным правым углом (параметр Cell_ Е) диапазонов. В этом случае аргументами могут быть переменные класса Range. Объект Range может представлять одну ячейку, одну строку, один столбец рабочего листа или их множество.

Рассмотрим первый (простой) случай, когда используется один аргумент. Тогда в качестве аргумента указывается любая допустимая в Excel ссылка только в формате А1 (см. параграф 8.1). Если имя листа не указывается, то используется активный лист, например:

‘Ячейке А5 листа Лист1 присваивается значение 5

Worksheets( «Лист1»).Range(«А5»).Value = 5

‘Ячейке А5 текущего листа присваивается значение 4

‘Диапазону ячеек D3.D6 текущего листа присваивается формула А1+4

Во втором случае (два аргумента) в качестве аргументов можно использовать переменные, выражения, свойства или методы объекта Range. Примеры:

Range («ВЗ», «Е20») ‘интервал ВЗ.Е20.

Range (Rows (1), Rows (6) ) ‘интервал, содержащий первые шесть строк

Полезным является объект Selection (выделение), который позволяет работать не только с выделенными (активными) ячейками, но и другими объектами. Напомним, что объект Selection создается при вызове метода Select либо свойства Selection. Тип созданного объекта определяется типом выделенного объекта (диапазон ячеек, рисунок, диаграмма и т.д.). Нас будет интересовать объект Selection, принадлежащий классу Range. В этом случае при работе с ним можно использовать все свойства и методы класса Range.

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

Свойства первой группы (доступ к объекту). Важные свойства первой группы объекта Range приведены в табл. 8.14.

Свойства объекта Range первой группы (доступ к объекту)

Описание и допустимые значения

Возвращает строку со ссылкой на объект Range в формате А1 или R1C1

Определяет семейство ячеек диапазона. Подробно опишем позже

Определяет семейство столбцов в диапазоне (объект Range). Синтаксис: Columns (ind), где ind — индекс колонки в объекте. Если индекс не задан, то выбираются все колонки объекта. Пример: Range («В2: С4″) . Columns (1) — возвращает указанную колонку В в заданном интервале, т.е. ячейки В2:В4

Возвращают значение (целое число) индекса соответственно первого столбца или первой строки для заданного объекта. Пример: Range («В4») .Column — возвращает число 2

Определяет количество элементов в диапазоне. Используется со всеми объектами типа коллекции.

Пример: Range («al :сЗ») .Rows.Count — возвращает значение, равное 3

Возвращает объект Range с интервалом ячеек, содержащим заданную ячейку.

Возвращают один или несколько охватывающих объект Range столбцов, соответственно, строк

Определяет строку с формулой в формате А1.

Определяет строку с формулой в формате R1C1 (рекомендуется использовать).

Пример: Range(«В2»).FormulaRICl = «=R1C1+1»

Описание и допустимые значения

Определяет имя диапазона.

Пример: Range («В1 :В4″) .Name=» Итого»

Возвращает объект Range, смещенный относительно выбранной ячейки. Подробно опишем позже

Возвращает объект Range

Определяет семейство строк в диапазоне (объект Range)). Синтаксис: Rows (ind), где ind — индекс строки в объекте. Если индекс не задан, то выбираются все строки объекта.

Пример: Worksheets (1) .Range («В2:С4») .Rows (2) — возвращает вторую строку заданного интервала, т.е. ячейки ВЗ:СЗ

Содержит значение из ячейки или диапазона. Пример: X=Range(«А2»).Value

Свойство Offset. К первой группе свойств, обеспечивающих доступ к объекту, относится и свойство Offset. Оно позволяет задавать диапазон (ячейку), смещенный относительно выбранной ячейки.

Offset ([RowOf] , [ColumnOf] ),

где RowOf — целое число, указывающее смещение ячейки по строкам; ColumnOf — целое число, указывающее смещение ячейки по столбцам. Если какой-то аргумент не задан, то соответствующее смещение равно нулю.

Range («В6«) . Offset (-2,1) ‘возвращает ячейку С4.

возвращает ячейку G8 и задает ее значение, равное 3.

возвращает ячейку A2, в которой записано число 4.

Свойство Cells является семейством (двумерным массивом) ячеек и используется для доступа к отдельной или группе ячеек. Cells является объектом типа Range и обладает тем же набором свойств и методов, что и объект Range. Для доступа к конкретной ячейке объекта Cells нужно в синтаксисе обращения к элементу Cells(r,c) в качестве аргументов указать целыми числами номер строки (г) и столбца (с). Например:

Worksheets (1) .Cells (5,1) .Value = 5присвоение значения 5 ячейке

‘с адресом А5 первого рабочего листа.

Читать еще:  Vba цикл по ячейкам excel

ActiveSheet .Cells . Font .Name = «Courier New» ‘установка шрифта

для всех ячеек активного листа.

Range <"B2:D5").Cells (1,1) .Interior.Color =vbBlue

‘установка цвета заливки для ячейки В2.

Можно также использовать свойство Cells для альтернативного указания диапазона. Например, Range («Л2;СЗ») и Range (Cells (2,1) , Cells (3,3) ) определяют один и тот же диапазон.

Свойства второй группы (оформление содержимого объекта). Свойство — участник Font (шрифт) возвращает объект Font, устанавливающий характеристики шрифта в области объекта Range. Объект Font в своем составе имеет такие основные свойства, как Name (гарнитура шрифта), Color (цвет), Size (размер), Bold (полужирность) и Italic (курсив).

With Worksheets(«Лист1») .Range(«В5»).Font .Name = «Times New Roman»

. Color=vbred .Size = 14 .Bold = True .Italic = True

Свойства ColumnWidth, RowHeight возвращают ширину столбцов и соответственно высоту строк диапазона. Свойство WrapText определяет возможность переноса текста в диапазоне (True — разрешает, False — запрещает).

Свойство NumberFormat задает формат отображения данных в объекте с использованием шаблона. Синтаксис:

Примеры допустимых шаблонов приведены в табл. 8.15.

Шаблоны отображения данных

Вывод чисел с точностью до третьего знака после запятой. Специальные символы шаблона: «#» — необязательная цифра; «0» — обязательная цифра; «,» — разделитель тысяч; «.» — десятичный разделитель

Вывод даты в формате 11.01.99 («d» — день; «т» — месяц; «уу» — две последние цифры года)

Вывод даты в формате 01.01.1999

Вывод даты в формате 1 янв. 99 (шшш — сокращение месяца)

Вывод даты в формате 1 января 99 (mmmm — полное название месяца)

Время в формате 1:23 (h — часы, mm — минуты)

Время в формате 1:23:00 (ss — секунды)

Экспоненциальный формат числа

Range(«А1:Д1О»).Select Selection .NumberForтаt=»0.00

Свойство Orientation определяет ориентацию (расположение) текста в ячейке. Допустимые значения свойства: xlHorizontal (горизонтальное расположение), xlVertical (вертикальное расположение), -90 до 90 (направление текста в градусах).

Свойства выравнивания содержимого объекта: HorizontalAlignment (горизонтальное выравнивание) может принимать значения, указанные в табл. 8.16, VerticalAlignment (вертикальное выравнивание) может принимать значения, указанные в табл. 8.17.

Допустимые значения для HorizontalAlignment

По правому краю

По центру выделения

Допустимые значения для VerticalAlignment

По верхнему краю

По нижнему краю

Range(«Al:А15«).HorizontalAlignment = xlJustify Range(«Al;А15»).VerticalAlignment = xlCenter Range(«Al:A15«).WrapText = True Range(«Al:A15«).Orientation = xlHorizontal

Свойства заливки ячейки. Свойство-участник Interior определяет цвет и узор, с помощью которых заполняется фон ячейки. Является объектом типа Interior, содержащего свойства Pattern (узор заливки), Color и Colorlndex (цвет фона), PatternColorlndex и PatternColor (цвет узора заливки).

Pattern может принимать значения, указанные в табл. 8.18.

Допустимые значения для Pattern

Штриховой диагональный перевернутый

Толстый клетчатый диагональный

Тонкий штриховой горизонтальный

Тонкий штриховой вертикальный

Тонкий перевернутый диагональный

Тонкий горизонтальный клетчатый

Тонкий диагональный клетчатый

Range («Ы : еЗ «) . Select

With Selection.Interior .ColorIndex=8 .Pattern=xlSolid .PatternColorlndex = 7

Свойства задания цвета. В свойствах Color, PatternColor цвет может задаваться следующими способами:

  • • указать цвет из восьми стандартных констант цветов: vbWhite (белый), vbBlack (черный), vbRed (красный), vbGreen (зеленый), vbBlue (синий), vbYellow (желтый), vbMagenta (розовый), vbCyan (голубой);
  • • использовать функцию RGB(x,y,z), где аргументы х, у, z задают интенсивности соответственно красного, зеленого и синего цветов и могут изменяться от 0 до 255;
  • • использовать функцию цвета QBColor(x), где параметр х задает номер цвета от 0 до 15 (0 — черный, 1 — синий, 2 — зеленый, 3 — бирюзовый, 4 — коричневый, 5 — фиолетовый, 6 — травяной, 7 — серый, 8 — темно-серый, 9 — голубой, 10 — светло-зеленый, 11 — светло-голубой, 12 — красный, 13 — сиреневый, 14 — желтый, 15 — белый).

При этом функция QBColor переводит обозначение цвета из старого номерного обозначения Basic с возможными 16 значениями в RGB-код, который понимается VBA. Обычно используется при изменении унаследованных программ.

В свойствах Colorlndex, PatternColorlndex цвет задается в виде его индекса (целое число от 0 до 56 или мнемоническая константа). В табл. 8.19 приведена цветовая палитра с индексами (номерами цветов).

Возможные константы, названия и палитра цветов

Свойства CurrentRegion и UsedRange

Эти два свойства очень полезны, когда программа работает с диапазонами, размерами которых Вы не можете управлять. Текущий регион (current region) -это диапазон ячеек, ограниченный пустыми строками и колонками или сочетанием пустых строк, пустых колонок и границ рабочего листа.

CurrentRegion ? свойство объектаRange. На листе может быть несколько текущих регионов ? все зависит от того, к какому объектуRange Вы обращаетесь.

Допустим, лист Sheet1 содержит список, для которого Вы хотите установить формат чисел. Единственное, что известно об этом списке, ? он начинается с ячейки А1; число строк и колонок в нем Вы не знаете. В следующем примере показано, как отформатировать такой список через свойствоCurrentRegion:

Sub FormatRange()
Set myRange = Worksheets(«Sheet1»).Range(«A1»).CurrentRegion
myRange.NumberFormat = «0.0»
End Sub

Использованный диапазон (used range) ограничен левой верхней и правой нижней заполненными ячейками, наиболее удаленными друг от друга. В этом диапазоне содержатся все заполненные ячейки листа, а также расположенные между ними пустые ячейки. На листе может быть только один такой диапазон, иUsedRange является свойством объектаWorksheet,а не Range.

Пусть активный лист содержит результаты каких-то измерений за определенный период времени. В первой колонке использованного диапазона записаны даты, во второй ? время, а в третьей и четвертой ? результаты измерений. Вы хотите написать код, который объединяет пары ?дата-время? в одно значение, преобразует время из GMT (Greenwich Mean Time ? время по Гринвичу) в PST (Pacific Standard Time ? стандартное время Тихоокеанского побережья США) и применяет к полученному значению формат даты. В таблице могут быть пустые строки и колонки. Чтобы получить весь использованный диапазон, включая пустые строки, можно задействовать свойство UsedRange. Вот один из вариантов преобразования и форматирования дат и времени:

Читать еще:  Excel через интернет

Sub ConvertDates()
Set myRange = ActiveSheet.UsedRange
myRange.Columns («C») .Insert
Set dateCol = myRange.Columns(«C»)
For Each с In dateCol.Cells
If c.0ffset(0, -1).Value <> «» Then
c.FormulaR1C1 = «=RC[-2]+RC[-1]-(8/24)»
End If
Next с
dateCol.NumberFormat = «mrnm-dd-yyyy hh:mm»
dateCol.Copy
dateCol.PasteSpecial Paste.: =xlValues
my Range.Columns( «A:B» ).Delete
dateCol.AutoFit
End Sub

Заметьте: чтобы получить третью колонку в использованном диапазоне, применяется выражение ActiveSheet. UsedRange. Columns( «С»), но на самом листе эта колонка может быть любой по счету ? использованному диапазону могут предшествовать пустые колонки.

Другие свойства и методы объекта Range позволяют строить весьма сложные выражения, возвращающие поддиапазоны (subranges) или наддиапазоны (super-ranges) этого объекта. Среди свойств и методов, обычно применяемых с этой целью, можно отметить Areas, Cells, Columns, EntireColumn, EntireRow, RangeиRows.

Организация циклов для перебора ячеек диапазона

Есть несколько способов перебора ячеек диапазона в цикле. Примеры из этого раздела демонстрируют использование с этой целью операторов For Each. Next иDo. Loop.

For Each ? Next
Do ? Loop

Применение свойства Address для отладки кода, работающего с объектом Range

У любого объектаRange есть свойствоAddress, которое возвращает адрес ячеек диапазона в виде строки. В следующем примере при отладке процедуры HideColumns используется свойствоAddress:

Sub HideColumns()
Set r = Worksheets( «Sheet1 «).UsedRange
MsgBox r.Address ‘ только при отладке!
For i = 1 To r.Columns.Count
If i Mod 2 = 0 Then
r.Columns(i).Hidden = True
MsgBox r.Columns(i).Address ‘ только при отладке!
End If
Next i
End Sub

Окна с сообщениями можно заменить контрольными выражениями (watch expressions). В предыдущем примере можно было бы установить два таких выражения ? r.Address и r.Columns(i).Address ? и понаблюдать за их значениями в окнеImmediate (Проверка). Подробнее об отладке см. главу 14 ?Отладка и обработка ошибок?.

Работа с событиями.

Включение и отключение обработки событий
Использование событий, связанных с рабочими листами
События на уровне рабочего листа
События на уровне диаграммы
События на уровне рабочей книги
События на уровне приложения
Модули классов и события

Если Вы раньше работали с Visual Basic (Standard, Professional или Enterprise Edition), то событийно-управляемое программирование Вам уже знакомо; большая часть кода, написанная Вами на Visual Basic, вероятно, предназначалась для обработки таких событий, как щелчок кнопки мыши или загрузка формы. Может быть, в Microsoft Excel Вам доводилось использовать события типа OnSheetActivate или OnEntry, запуская макрос при активизации или изменении листа. И это тоже событийно-управляемое программирование. В Microsoft Excel 97 набор событий расширен и в него добавлены процедуры обработки событий, принимающие аргументы.

Microsoft Excel 97 допускает написание процедур обработки событий на уровне листа, диаграммы, книги или приложения. Например, событие Activate происходит на уровне листа, а событие SheetActivate доступно как на уровне книги, так и на уровне приложения. Событие SheetActivate для книги возникает при активизации любого из ее листов, а на уровне приложения ? при активизации любого листа открытых в данный момент книг.

Процедуры обработки событий листа и книги создаются по умолчанию для любого открытого листа, диаграммы или книги. Чтобы написать процедуру обработки события для внедренной диаграммы или для приложения, создайте новый объект в модуле класса с помощью ключевого слова WithEvents. Модуль класса можно использовать и для создания процедур обработки событий, доступных из нескольких листов или книг (см. раздел Модули классов и события далее в этой главе).

Currentregion vba excel описание

������� ���������� ��������� �� ����� VBA – �������, ����� �������� �� ���������� ������, � ����������� �� ��������� ����������. ���� ���������� �������� ���������, ������� ����� ����������� ������������ ���������� ��� ��������, ����������� �������������� ����������� ������������ ���������� Microsoft Office, �� ���������� ������� ����������� ������. ��� ���������� ���� ��������� ����� ��������� � ������� ������� ���������� ������, ������� ������� ����� �������� ���������� ���������. ��� ����� � ���������� ���������� �������� ������ ������������ � ������� ������� ��� ������ ������������ �������� ����������, � ����� ������� ������ � ��������������� ����������� �����. ���� ��������� ��������� � ������� ������� ������ ������ �������.

���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� Click), ������� ������� �� ���������� (������� KeyPress) � �.�. ������������ ����� ���������� ����� �������� ������ – «������ �������».

Range(“�����”)

Cells(i, j)

Rows(� ������)

Columns(� �������)

Sheets(“���”)

Sheets(� �����)

WorkSheet

Range(“A5:A10”). Value = 0 ��� Range(“A5:A10”) = 0 – � �������� ����� A5:A10 ��������� �������� 0.

Cells(2, 4). Value = n ��� Cells(2, 4) = n – � ������, ����������� �� ����������� 2-� ������ � 4-�� ������� (������ � ������� “D2”), ��������� �������� ���������� n.

Xn = Cells(1, 2).Value ��� Xn = Range(“B1”).Value – ���������� Xn ������������� �������� �� ������ B1 �������� �������� �����.

Sheets(2).Activate ������� �������� ���� � �2.

Sheets(“���������”).Delete ������� ���� � ������ “���������”.

Range(«A5:A10»).Clear – �������� �������� ����� A5:A10.

Range(«A2:B10»).Select – �������� �������� ����� A2:B10.

Application.Quit — ���������� ������ � Excel.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×