Определение объекта Range
Определение объекта Range
В Excel имеется несколько возможных методов идентификации диапазона из одной или нескольких ячеек, на который должен воздействовать написанный код. Для достижения данной цели используются следующие.
Стандартная ссылка на ячейку. Так называемый А1-стиль ссылки на ячейку является, пожалуй, самым простым способом работы с объектами Range. Для определения диапазона необходимо ссылку заключить в кавычки и скобки после ключевого слова Range, как показано в следующем примере:
ActiveSheet.Range("B3")
Worksheets("Sheet 2").Range("M5:S20")
Именованные диапазоны. Если рабочий лист содержит именованные диапазоны, VBA объекты Range могут опираться на них, как показано в следующем примере:
Worksheets("Финансовый отчет").Range("Выплата процентов")
Для присвоения диапазону имени непосредственно в самом коде необходимо употребить следующее выражение с использованием функцией свойства Name (Имя):
Range("A3:В4")-Name = "Прайс-лист"
Сокращенная запись. Вследствие частого использования объектов Range, Excel позволяет упускать ключевое слово Range при определении диапазона при записи в А1 -стиле или при записи с использованием имени. Для реализации такого приема ссылку на ячейку или имя диапазона следует заключить в квадратные скобки, как показано в приведенном ниже примере:
ActiveSheet["Al:Z26"]
["Квартальный отчет"]
Свойство Cells объекта Worksheets. Данная техника крайне необходима профессионалам, так как позволяет определять диапазон не путем указания фиксированных адресов ячейки, а на основе переменных. Основная идея состоит в составлении в цифровом виде списка координат строк и столбцов диапазона. Читайте об этом в разделе "Использование свойства Cells для определения диапазона" дальше в данной главе.
Свойство Selection (Выделение). Когда требуется воздействие кода на диапазон, соответствующий выделению пользователя, используется свойство Selection. Читайте об этом в разделе "Работа с выделениями" дальше в данной главе.
Свойство ActiveCell (Активная ячейка). Свойство Active Cell используется для доступа к диапазону, представляющему активную ячейку данного окна. При использовании без спецификатора объекта (что эквивалентно использованию объекта Application), свойство Active Cell ссылается на активное окно:
ValueStorageBi n = ActiveCell.Value
Свойства Rows (Строки) или Columns (Столбцы) объекта Worksheet. Доступ к диапазону, включающему весь столбец или строку, осуществляется с помощью свойств рабочего листа Rows и Columns с использованием номера указываемого столбца или строки (нельзя адресовать столбец через его буквенное обозначение). В следующем примере определяется диапазон, включающий столбец Е, т.е. пятый столбец:
Workbooks("IOU.xls").Worksheets("Sheetshoot out").Column(5)
Определенные пользователем ссылки на объекты. Поскольку диапазон является объектом, можно установить именованную объектную ссылку на него, после чего доступ к диапазону осуществляется с помощью указания имени ссылки. Данную технику использовать проще и быстрее, чем многократное указание оригинального диапазона. После установки объектной ссылки RanGer, как показано в последующем примере, можно использовать его свойства в таких выражениях, как RanGer . Value:
Dim RanGer As Range Set RanGer = Worksheets("Лист1").Range("B12:H13" )
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Понятия объекта и экземпляра объекта
Понятия объекта и экземпляра объекта В начале этой главы мы познакомились с типами данных, определяющими саму природу данных и набор действий, которые можно выполнять с этими данными. Так, строковый тип определяет, что данные этого типа представляют собой строки —
Практическое определение объекта
Практическое определение объекта Вы можете заметить, что порой представить объект VBA в материально осязаемом виде не так-то просто. Но это и к лучшему - чем дальше вы уходите от материализации объектов, тем свободнее будете себя чувствовать при работе со всем диапазоном
Знакомство с объектами Range
Знакомство с объектами Range Если вы редактируете документ самостоятельно, вы должны поместить указатель мыши в нужное место либо выделить определенный фрагмент, прежде чем добавлять, удалять или форматировать текст. Однако в Word объекты Range избавляют вас от подобной
Использование свойства Range
Использование свойства Range Открытый документ Word уже содержит объекты Range, соответствующие многим его элементам. Каждый абзац, а также таблица, отдельная ячейка таблицы, комментарий или нижний колонтитул (и это далеко не полный список) определяют диапазоны. Вы можете
Определение диапазонов с помощью метода Range
Определение диапазонов с помощью метода Range Если существующие объекты не содержат текст, с которым вы хотите работать, создайте собственный объект Range. В любом открытом документе вы сможете определить столько объектов Range, сколько вам нужно. При этом используется метод
Использование в коде объектов Range для работы с ячейками
Использование в коде объектов Range для работы с ячейками Весьма неожиданно, что в Excel нет объекта Cell (Ячейка). Поэтому при написании кода следует руководствоваться следующим подходом: для указания ячейки в VBA-коде используется объект Range. В Excel объект Range может заключать в
8.6. Определение типа объекта во время выполнения
8.6. Определение типа объекта во время выполнения ПроблемаВо время выполнения требуется динамически узнавать тип определенного класса.РешениеДля запроса, на объект какого типа указывает адрес объекта, используйте идентификацию типов во время выполнения (обычно
8.7. Определение, является ли класс объекта подклассом другого класса
8.7. Определение, является ли класс объекта подклассом другого класса ПроблемаИмеется два объекта и требуется узнать, имеют ли их классы отношения на уровне базовый класс/производный класс, или они не связаны друг с другом.РешениеИспользуйте оператор dynamic_cast, который
Определение "объекта приложения"
Определение "объекта приложения" В настоящее время тип HelloClass решает две задачи. Во-первых, этот класс определяет точку входа в приложение (метод Main()). Во-вторых, HelloClass поддерживает элемент данных и несколько конструкторов. Все это хорошо и синтаксически правильно, но
6.12.1. Определение объекта map и заполнение его элементами
6.12.1. Определение объекта map и заполнение его элементами Чтобы определить объект класса map, мы должны указать, как минимум, типы ключа и значения. Например:mapstring,int word_count;Здесь задается объект word_count типа map, для которого ключом служит объект типа string, а ассоциированным с ним