что такое item в vba
Свойство Range.Item (Excel)
Возвращает объект Range, представляющий диапазон со смещением относительно указанного диапазона.
Синтаксис
выражения. Item (RowIndex, ColumnIndex)
выражение: переменная, представляющая объект Range.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
RowIndex | Обязательно | Variant | Если предоставлен второй аргумент, возвращается относительный номер строки ячейки. |
Если второй аргумент не представлен, индекс подгруппы возвращается.
Примечания
Если выражение не является диапазоном, содержащим коллекцию одиночных ячеек, например, поскольку оно получено через участника Columns, предоставление второго аргумента является незаконным и приведет к ошибке 1004.
По умолчанию участник Range передает вызовы с параметрами участнику Item. Таким образом, someRange(1) someRange(1,1) и эквивалентны someRange.Item(1) someRange.Item(1,1) и, соответственно.
Диапазон, возвращаемый при предоставлении только одного параметра, зависит от характера диапазона:
Для диапазонов, состоящих из одиночных ячеек, возвращаемых участниками Cells и Range, Item возвращает одиночные ячейки. Параметр RowIndex ссылается на индекс при перенастройке первой области диапазона слева направо, а не сверху вниз, как для двухдиментальных массивов. Если RowIndex больше, чем количество ячеек в первой области диапазона, то это будет как если бы область была расширена вниз.
Для диапазонов, состоящих из диапазонов строк, возвращаемого строками, элемент возвращает ряды строк. Параметр RowIndex — это смещение на основе 1 из первого ряда диапазона в направлении сверху вниз.
Для диапазонов, состоящих из диапазонов столбцов, возвращаемого столбцами, пункт возвращает столбцы. Параметр RowIndex — это смещение на основе 1 из первого столбца в направлении слева направо. В этой ситуации индекс может быть представлен в качестве строки адресов столбца.
Пример
В следующем примере показано, какая ячейка возвращается, если предоставлены оба параметра.
В следующем примере показаны различные типы диапазонов, которые возвращаются при условии только одного параметра.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Метод item (VBA Add-In объектная модель)
Возвращает индексированный элемент коллекции.
Синтаксис
объект. Item (index)
Синтаксис метода Item включает следующие элементы:
Part | Описание |
---|---|
object | Обязательный. Выражение объекта, которое оценивает объект в списке Applies To. |
index | Обязательный. Выражение, указывающее положение элемента в коллекции. Если числовое выражение, индекс должен быть числом от 1 до значения свойства Count коллекции. Если выражение строки, индекс должен соответствовать ключевому аргументу, указанному при добавлении участника в коллекцию. |
В следующей таблице перечислены коллекции и соответствующие ключевые аргументы для использования с методом Item. Строка, которую вы передаете методу Item, должна соответствовать ключевому аргументу коллекции.
Collection | Аргумент key |
---|---|
Windows | Параметр свойства caption |
LinkedWindows | Настройка свойства Caption |
CodePanes | Данная коллекция не имеет уникальной строки. |
VBProjects | Параметр свойства name |
VBComponents | Настройка свойства Name |
References | Настройка свойства Name |
Свойства | Настройка свойства Name |
Примечания
Аргумент index может быть числовым значением или строкой, содержащей заголовок объекта.
Объекты, свойства и методы для управления связанными окнами, связанными рамками окон и закрепленными окнами включены в систему Macintosh для обеспечения совместимости с кодом, написанным в Windows. Однако эти элементы языка будут создавать ошибки во время выполнения в системе Macintosh.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
VBA Excel. Объект Collection (создание, методы, примеры)
Создание объекта Collection с помощью кода VBA Excel. Методы коллекции и синтаксис выражений с ними. Свойство Count и примеры кода.
Создание объекта Collection
Создать новый экземпляр Collection в коде VBA Excel можно двумя строками:
Лист автоматической вставки объектов, методов и свойств (лист подсказок) предоставит при написании кода VBA Excel простой доступ к методам Add, Item, Remove и свойству Count объекта Collection:
Лист подсказок отображается автоматически после ввода точки или, в иных случаях, вызывается сочетанием клавиш «Ctrl+Пробел».
Методы и свойство коллекции
Метод Add
Метод Add добавляет новый элемент в объект Collection.
Синтаксис метода Add:
Компоненты метода Add:
* Аргументы «До» и «После» не могут применяться одновременно. Если аргументу «До» или «После» присвоено числовое значение, оно должно быть в пределах диапазона от 1 до значения свойства Collection.Count. Если это строка, она должна соответствовать одному из ключей существующих в коллекции элементов.
Метод Item
Метод Item возвращает элемент объекта Collection по индексу позиции или по ключу.
Синтаксис метода Item объекта Collection:
Компоненты метода Item:
Метод Remove
Метод Remove удаляет элемент из объекта Collection по индексу позиции или по ключу.
Синтаксис метода Remove объекта Collection:
Компоненты метода Remove:
Свойство Collection.Count
Свойство Count объекта Collection возвращает количество элементов в коллекции.
Примеры кода с объектом Collection
Пример 1
Создание нового экземпляра объекта Collection, добавление в коллекцию трех элементов, определение количества элементов в коллекции, извлечение одного и того же элемента по индексу и по ключу:
Item method
Returns a specific member of a Collection object either by position or by key.
Syntax
object.Item(index)
The Item method syntax has the following object qualifier and part.
Part | Description |
---|---|
object | Required. An object expression that evaluates to an object in the Applies To list. |
index | Required. An expression that specifies the position of a member of the collection. If a numeric expression, index must be a number from 1 to the value of the collection’s Count property. If a string expression, index must correspond to the key argument specified when the member referred to was added to the collection. |
Remarks
If the value provided as index doesn’t match any existing member of the collection, an error occurs. The Item method is the default method for a collection. Therefore, the following lines of code are equivalent:
Example
This example uses the Item method to retrieve a reference to an object in a collection. Assuming Birthdays is a Collection object, the following code retrieves from the collection references to the objects representing Bill Smith’s birthday and Adam Smith’s birthday, using the keys «SmithBill» and «SmithAdam» as the index arguments.
Note that the first call explicitly specifies the Item method, but the second does not. Both calls work because the Item method is the default for a Collection object. The references, assigned to SmithBillBD and SmithAdamBD using Set, can be used to access the properties and methods of the specified objects.
To run this code, create the collection and populate it with at least the two referenced members.
See also
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Коллекции (Visual Basic)
Во многих приложениях требуется создавать группы связанных объектов и управлять ими. Существует два способа группировки объектов: создать массив объектов и создать коллекцию.
Массивы удобнее всего использовать для создания фиксированного числа строго типизированных объектов и работы с ними. Информацию о массивах см. в разделе Массивы.
Коллекции предоставляют более гибкий способ работы с группами объектов. В отличие от массивов, коллекция, с которой вы работаете, может расти или уменьшаться динамически при необходимости. Некоторые коллекции допускают назначение ключа любому объекту, который добавляется в коллекцию, чтобы в дальнейшем можно было быстро извлечь связанный с ключом объект из коллекции.
Коллекция является классом, поэтому необходимо объявить экземпляр класса перед добавлением в коллекцию элементов.
Если коллекция содержит элементы только одного типа данных, можно использовать один из классов в пространстве имен System.Collections.Generic. Универсальная коллекция обеспечивает строгую типизацию, так что в нее нельзя добавить другие типы данных. При извлечении элемента из универсальной коллекции не нужно определять или преобразовывать его тип данных.
Для примеров в этом разделе включите операторы Imports для System.Collections.Generic System.Linq пространств имен и.
Использование простой коллекции
В следующем примере создается список строк, а затем выполняется итерация по строкам с помощью цикла For Each. Следующий оператор.
Если содержимое коллекции известно заранее, для ее инициализации можно использовать инициализатор коллекции. Дополнительные сведения см. в разделе Инициализаторы коллекций.
Следующий пример аналогичен предыдущему за исключением того, что для добавления элементов в коллекцию используется инициализатор коллекции.
В приведенном ниже примере элемент удаляется из коллекции путем указания удаляемого объекта.
В приведенном ниже примере удаляются элементы из универсального списка. Вместо For Each оператора, a для. Используется оператор Next, который выполняет итерацию в убывающем порядке. Связано это с тем, что в результате работы метода RemoveAt элементы, следующие за удаленным элементом, получают меньшее значение индекса.
Виды коллекций
В этом разделе описываются следующие часто используемые классы коллекций:
класс Collection в Visual Basic.
Классы System.Collections.Generic
Универсальную коллекцию можно создать, используя один из классов в пространстве имен System.Collections.Generic. Универсальная коллекция применяется в том случае, если все элементы в коллекции имеют одинаковый тип данных. Универсальная коллекция обеспечивает строгую типизацию, позволяя добавлять данные только необходимого типа.
В таблице ниже перечислены некоторые из часто используемых классов пространства имен System.Collections.Generic.
Классы System.Collections.Concurrent
Классы пространства имен System.Collections.Concurrent следует использовать вместо соответствующих типов пространств имен System.Collections.Generic и System.Collections, если несколько потоков параллельно обращаются к такой коллекции. Дополнительные сведения см. в статьях Потокобезопасные коллекции и System.Collections.Concurrent.
Классы System.Collections
В следующей таблице перечислены некоторые из часто используемых классов пространства имен System.Collections :
Класс | Описание |
---|---|
ArrayList | Представляет массив объектов, размер которого динамически увеличивается по мере необходимости. |
Hashtable | Представляет коллекцию пар «ключ-значение», которые упорядочены по хэш-коду ключа. |
Queue | Представляет коллекцию объектов, которая обслуживается в порядке поступления (FIFO). |
Stack | Представляет коллекцию объектов, которая обслуживается в обратном порядке (LIFO). |
Пространство имен System.Collections.Specialized предоставляет специализированные и строго типизированные классы коллекций, такие как коллекции строк, связанные списки и гибридные словари.
Класс Collection в Visual Basic
Везде, где это возможно, следует использовать универсальные коллекции в пространстве имен System.Collections.Generic или пространстве имен System.Collections.Concurrent вместо класса Collection в Visual Basic.
Дополнительные сведения см. в разделе Collection.
Реализация коллекции пар «ключ-значение»
Универсальная коллекция Dictionary позволяет получить доступ к элементам коллекции с помощью ключа каждого элемента. Каждый элемент, добавляемый в словарь, состоит из значения и связанного с ним ключа. Извлечение значения по его ключу происходит быстро, так как класс Dictionary реализован как хэш-таблица.
В приведенном ниже примере используется метод ContainsKey и свойство Item[] Dictionary для быстрого поиска элемента по ключу. Item Свойство позволяет получить доступ к элементу в коллекции с elements помощью elements(symbol) кода в Visual Basic.
В приведенном ниже примере вместо этого используется метод TryGetValue для быстрого поиска элемента по ключу.
Использование LINQ для доступа к коллекции
Для доступа к коллекции можно использовать язык LINQ. Запросы LINQ обеспечивают возможности фильтрации, упорядочения и группировки. Дополнительные сведения см. в разделе Начало работы с LINQ в Visual Basic.
Сортировка коллекции
Каждый вызов метода CompareTo выполняет одно сравнение, используемое для сортировки. Написанный пользователем код в методе CompareTo возвращает значение для каждого сравнения текущего объекта с другим объектом. Возвращаемое значение меньше нуля, если текущий объект меньше другого объекта, больше нуля, если текущий объект больше другого объекта, и равняется нулю, если объекты равны. Это позволяет определить в коде условия для отношения «больше», «меньше» и «равно».
Определение настраиваемой коллекции
Вы можете определить коллекцию, реализовав интерфейс IEnumerable или IEnumerable. Дополнительные сведения см. в разделе Перечисление коллекции.
Iterators
Для вызова итератора используется оператор For Each. Следующий оператор. Каждая итерация цикла For Each вызывает итератор. При достижении оператора Yield в итераторе возвращается выражение, и текущее расположение в коде сохраняется. При следующем вызове итератора выполнение возобновляется с этого места.
Дополнительные сведения см. в разделе итераторы (Visual Basic).