Меню Закрыть

Vba excel выделить строку

Содержание

В следующих примерах кода показаны способы выделения активной ячейки или строк и столбцов, содержащих активную ячейку. The following code examples show ways to highlight the active cell or the rows and columns that contain the active cell. В этих примерах используется событие SelectionChange объекта Worksheet. These examples use the SelectionChange event of the Worksheet object.

Пример кода предоставил: Том Уртис, Atlas Programming Management Sample code provided by: Tom Urtis, Atlas Programming Management

Выделение активной ячейки Highlighting the Active Cell

В следующем примере кода показано, как удалить цвет во всех ячейках листа, присвоив свойству ColorIndex значение 0, а затем выделить активную ячейку, присвоив свойству ColorIndex значение 8 (бирюзовый). The following code example clears the color in all the cells on the worksheet by setting the ColorIndex property equal to 0, and then highlights the active cell by setting the ColorIndex property equal to 8 (Turquoise).

Выделение всей строки и столбца, содержащих активную ячейку Highlighting the Entire Row and Column that Contain the Active Cell

В следующем примере кода показано, как удалить цвет во всех ячейках листа, присвоив свойству ColorIndex значение 0, а затем выделить всю строку и столбец, содержащие активную ячейку, с помощью свойств EntireRow и EntireColumn. The following code example clears the color in all the cells on the worksheet by setting the ColorIndex property equal to 0, and then highlights the entire row and column that contain the active cell by using the EntireRow and EntireColumn properties.

Выделение строки и столбца, содержащих активную ячейку, в текущей области Highlighting the Row and Column that Contain the Active Cell, Within the Current Region

В следующем примере кода показано, как удалить цвет во всех ячейках листа, присвоив свойству ColorIndex значение 0, а затем в текущей области выделить строку и столбец, содержащие активную ячейку, используя свойство CurrentRegion объекта Range. The following code example clears the color in all the cells on the worksheet by setting the ColorIndex property equal to 0, and then highlights the row and column that contain the active cell, within the current region by using the CurrentRegion property of the Range object.

Об участнике About the Contributor

Том Уртис, MVP — основатель компании Atlas Programming Management, создающей полноценные бизнес-решения для Microsoft Office и Excel в Кремниевой долине. MVP Tom Urtis is the founder of Atlas Programming Management, a full-service Microsoft Office and Excel business solutions company in Silicon Valley. Том обладает больше чем 25 годами опыта управления бизнесом и разработки приложений для Microsoft Office, а также является соавтором книги "Holy Macro! Tom has over 25 years of experience in business management and developing Microsoft Office applications, and is the coauthor of "Holy Macro! It’s 2,500 Excel VBA Examples". It’s 2,500 Excel VBA Examples."

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Читайте также:  Iphone 7 plus e katalog

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Как вернуться к предыдущим настройкам компьютера

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

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

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

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

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

Для выбора диапазона ячеек C2:D10 на активном листе можно использовать любой из приведенных ниже способов:

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

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

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

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

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

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

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

Для выбора именованного диапазона «Тест» на активном листе можно использовать любой из приведенных ниже способов:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для выбора именованного диапазона «База данных» и его увеличения на пять строк можно использовать приведенный ниже способ:

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

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

Читайте также:  Дропбокс вход в личный

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

Для выбора объединения (совмещенной области) двух именованных диапазонов «Тест» и «Образец» можно использовать приведенный ниже способ:

Чтобы этот способ сработал, оба диапазона должны относиться к одному листу. Метод Union не поддерживает работу с разными листами. Например, следующая строка дает нужный результат.

но при попытке выполнить этот код

будет выведено следующее сообщение об ошибке:

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

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

Для выбора пересечения двух именованных диапазонов «Тест» и «Образец» можно использовать приведенный ниже способ:

Чтобы этот способ сработал, оба диапазона должны относиться к одному листу.

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

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

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

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

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

Для выбора ячейки, расположенной ниже непрерывного диапазона, можно использовать приведенный ниже способ:

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

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

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

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

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

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

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

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

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

Выполнение этого кода приводит к выбору ячеек с A1 по C4. Ниже приведены другие способы выбора того же диапазона ячеек:

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

Выбор нескольких прерывающихся столбцов разной длины

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

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

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

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

Свойство ActiveWorkbook также может быть опущено в большинстве случаев. Если не указана конкретная книга, по умолчанию используется активная книга.

Если при использовании метода Application.Goto нужно вызвать два метода Cells в методе Range, когда указанный диапазон относится к другому (неактивному) рабочему листу, необходимо каждый раз использовать объект «Таблицы». Пример:

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

где переменная myVar имеет значение Sheet1.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.