Vba как выбрать строку по номеру



Содержимое

Выбор ячеек и диапазонов с помощью процедур Visual Basic в Excel

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты службы поддержки Майкрософт могут объяснить возможности конкретной процедуры, но они не изменяют эти примеры, чтобы предоставить дополнительные функции или создать процедуры для удовлетворения конкретных требований. В примерах, приведенных в этой статье, используются методы Visual Basic, приведенные в следующей таблице.

В примерах, приведенных в этой статье, используются свойства, указанные в таблице ниже.

Выбор ячейки на активном листе

Чтобы выбрать ячейку D5 на активном листе, можно использовать любой из следующих примеров:

Выбор ячейки на другом листе в той же книге

Чтобы выбрать ячейку E6 на другом листе той же книги, можно использовать любой из следующих примеров:

Вы также можете активировать лист, а затем использовать метод 1, чтобы выбрать ячейку:

Выбор ячейки на листе в другой книге

Чтобы выбрать ячейку F7 на листе в другой книге, можно использовать любой из следующих примеров:

Вы также можете активировать лист, а затем использовать метод 1, чтобы выбрать ячейку:

Выбор диапазона ячеек на активном листе

Чтобы выбрать диапазон C2: D10 на активном листе, можно использовать любой из следующих примеров:

Выбор диапазона ячеек на другом листе в той же книге

Чтобы выбрать диапазон D3: E11 на другом листе той же книги, можно использовать любой из следующих примеров:

Вы также можете активировать лист, а затем использовать способ 4 выше, чтобы выбрать диапазон:

Выбор диапазона ячеек на листе в другой книге

Чтобы выбрать диапазон E4: F12 на листе в другой книге, можно использовать любой из следующих примеров:

Вы также можете активировать лист, а затем использовать способ 4 выше, чтобы выбрать диапазон:

Выбор именованного диапазона на активном листе

Чтобы выбрать именованный диапазон «Test» на активном листе, можно использовать любой из следующих примеров:

Выбор именованного диапазона на другом листе в той же книге

Чтобы выбрать именованный диапазон «Test» на другом листе той же книги, можно использовать следующий пример:

Вы также можете активировать лист, а затем использовать метод 7 выше для выбора именованного диапазона:

Выбор именованного диапазона на листе в другой книге

Чтобы выбрать именованный диапазон «Test» на листе в другой книге, можно использовать следующий пример:

Вы также можете активировать лист, а затем использовать метод 7 выше для выбора именованного диапазона:

Выбор ячейки относительно активной ячейки

Чтобы выделить ячейку с пятью строками ниже и четырьмя столбцами слева от активной ячейки, можно использовать следующий пример:

Чтобы выделить ячейку с двумя строками выше и тремя столбцами справа от активной ячейки, можно использовать следующий пример:

При попытке выбрать ячейку, которая находится в состоянии «не на листе», произойдет ошибка. В первом примере, приведенном выше, возвращается сообщение об ошибке, если активная ячейка находится в столбцах A-D, так как при перемещении четырех столбцов влево активная ячейка будет иметь недопустимый адрес ячейки.

Выбор ячейки относительно другой (неактивной) ячейки

Чтобы выделить ячейку с пятью строками ниже и четырьмя столбцами справа от ячейки C7, можно использовать любой из следующих примеров:

Выбор диапазона смещения ячеек в указанном диапазоне

Чтобы выбрать диапазон ячеек, размер которых совпадает с именованным диапазоном «Test», но с последующим сдвигом на четыре строки вниз и тремя столбцами вправо, можно использовать следующий пример:

Если именованный диапазон находится на другом (неактивном) листе, сначала активируйте этот лист, а затем выберите диапазон, используя следующий пример:

Выбор указанного диапазона и изменение размера выделенного фрагмента

Для выбора именованного диапазона «Database» и последующего расширения выделенного фрагмента на пять строк можно использовать следующий пример:

Выбор указанного диапазона, его смещение и изменение его размера

Чтобы выбрать диапазон четыре строки ниже и три столбца справа от именованного диапазона «база данных» и включить две строки и один столбец больше, чем именованный диапазон, можно использовать следующий пример:

Выбор объединения двух или более указанных диапазонов

Чтобы выбрать объединение (то есть область объединения) двух именованных диапазонов «Test» и «Sample», можно использовать следующий пример:

чтобы этот пример работал, оба диапазона должны находиться на одном листе. Кроме того, обратите внимание на то, что метод Union не работает на разных листах. Например, эта строка работает нормально.

Возвращает сообщение об ошибке:

Сбой метода Union класса приложения

Как выбрать пересечение двух или более указанных диапазонов

Чтобы выбрать пересечение двух именованных диапазонов «Test» и «Sample», можно использовать следующий пример:

Обратите внимание, что для работы этого примера оба диапазона должны находиться на одном листе.

В примерах, описанных в этой статье 17-21, описывается следующий пример набора данных. В каждом примере указывается диапазон ячеек в выбранном образце данных.

Выбор последней ячейки столбца с непрерывными данными

Чтобы выбрать последнюю ячейку в непрерывном столбце, используйте следующий пример:

Если этот код используется с образцом таблицы, будет выбрана ячейка A4.

Как выделить пустую ячейку в нижней части столбца непрерывных данных

Чтобы выделить ячейку под диапазоном смежных ячеек, используйте следующий пример:

Если этот код используется с образцом таблицы, будет выбрана ячейка A5.

Выбор всего диапазона смежных ячеек в столбце

Чтобы выбрать диапазон смежных ячеек в столбце, используйте один из следующих примеров:

Если этот код используется с образцом таблицы, будут выбраны ячейки a1 — A4.

Выбор всего диапазона несмежных ячеек в столбце

Чтобы выбрать диапазон ячеек, которые не являются смежными, используйте один из следующих примеров:

Если этот код используется с образцом таблицы, он выберет ячейки с a1 по A6.

Выбор прямоугольного диапазона ячеек

Чтобы выбрать прямоугольный диапазон ячеек вокруг ячейки, используйте метод CurrentRegion. Диапазон, выбранный методом CurrentRegion, это область, ограниченная любым сочетанием пустых строк и пустых столбцов. Ниже приведен пример использования метода CurrentRegion.

В этом коде будут выделены ячейки A1 — C4. В других примерах ниже показано, как выбрать один и тот же диапазон ячеек:

В некоторых случаях может потребоваться выделить ячейки a1 — C6. В этом примере метод CurrentRegion не будет работать из-за пустой строки на строке 5. В приведенных ниже примерах будут выбраны все ячейки:

Выбор нескольких несмежных столбцов различной длины

Чтобы выбрать несколько несмежных столбцов различной длины, используйте следующий пример таблицы и макроса:

При использовании этого кода с образцом таблицы ячейки a1: A3 и C1: C6 будут выбраны.

Примечания к примерам

Обычно свойство Активешит можно опустить, так как оно подразумевает, что конкретный лист не является именем. Например, вместо

Вы можете использовать следующие компоненты:

Также можно опустить свойство Активеворкбук. Если не указана конкретная книга, подразумевается активная книга.

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

Для любого элемента в кавычках (например, именованного диапазона «Test») можно также использовать переменную, значение которой является строкой текста. Например, вместо

Источник статьи: http://docs.microsoft.com/ru-ru/previous-versions/office/troubleshoot/office-developer/select-cells-rangs-with-visual-basic

VBA Excel. Выделенный диапазон ячеек (адрес, выбор, строки)

Определение адреса выделенного диапазона ячеек на листе Excel с помощью кода VBA. Определение номера первой и последней строки. Программное выделение диапазона.

Адрес выделенного диапазона

Для определения адреса выделенного диапазона ячеек в VBA Excel используется свойство Address объекта Selection.

Объект Selection – это совокупность всех выделенных ячеек на листе Excel. Это может быть одна ячейка, смежный или несмежный диапазон ячеек, представляющий совокупность смежных диапазонов. Если выделение состоит из несмежного диапазона, адреса смежных диапазонов, из которых он состоит, будут перечислены через запятую.

Стоит отметить: несмотря на то, что в выделенном диапазоне может содержаться много ячеек, активной может быть только одна. Она представлена объектом ActiveCell. Для определения ее адреса в коде VBA Excel также используется свойство Address.

Скопируйте и запустите код на выполнение. В результате получите что-то вроде этого, зависящее от того, какие диапазоны вы выберите:

Определение адресов выделенного диапазона и активной ячейки

Выделение ячеек и диапазонов

Выделить несмежный диапазон ячеек можно следующим образом:

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

Определение номеров первой и последней строки

Чтобы вычислить номера первой и последней строки выделенного диапазона, будем исходить из того, что первая ячейка смежного диапазона находится на первой строке, а последняя – на последней строке выделенного диапазона.

Результат будет таким, зависит от выделенного диапазона:

Номера первой и последней строки выделенного смежного диапазона

Таким же образом можно вычислить номера первого и последнего столбцов выделенного диапазона, которые можно использовать для обработки информации по столбцам.

Обратите внимание, что для несмежных диапазонов этот пример не работает.

На практике я использовал определение номеров первой и последней строк по выделенному диапазону для формирования файла загрузки данных держателей дисконтных карт на сервис отправки СМС-сообщений. Оказалось, что базу данных клиентов заполнять в таблице Excel намного удобнее, чем на портале сервиса, а для загрузки в сервис достаточно сформировать несложный файл. Заполнил новые строки, выделил их по любому столбцу, нажал кнопку и файл готов.

Источник статьи: http://vremya-ne-zhdet.ru/vba-excel/vydelennyy-diapazon-yacheyek-selection-address-range/


Adblock
detector