Vba excel границы ячейки
Большинство пограничных объектов (все, за исключением объектов Range и Style) имеют границу, которая рассматривается как одно целое независимо от того, сколько сторон оно имеет. Вся граница должна быть возвращена в качестве единицы.
Чтобы вернуть объект Border для этого типа объекта, используйте свойство Border, например объект TrendLine.
Обратите внимание, что визуальные свойства объекта Border блокировка; то есть изменение одного свойства может вызвать изменения в другом. В большинстве случаев индуцированные изменения служат для того, чтобы сделать границу видимой (которая может быть нежелательной или нежелательной). Однако возможны другие (более неожиданные) результаты.
Ниже приводится пример блокировки с неожиданными результатами. В этом примере установка свойства Weight границы на xlThick вызывает свойство LineStyle стать xlSolid, несмотря на то, что ранее оно было назначено xlDashDotDot.
Пример
В следующем примере изменяется тип и стиль строки линии тренда на активной диаграмме.
Объекты Range и Style имеют четыре дискретных границ: левый, правый, верхний и нижний, которые можно возвращать по отдельности или в группе. Используйте свойство Borders, чтобы вернуть коллекцию Границ, которая содержит все четыре границы и обрабатывает границы как единицу. В следующем примере добавляется двойная граница к ячейке A1 на таблице 1.
Используйте Borders (index), где индекс определяет границу, чтобы вернуть один пограничный объект. В следующем примере задает цвет нижней границы ячеек A1:G1.
Индекс может быть одним из следующих констант XlBordersIndex: xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, xlEdgeTop, xlInsideHorizontal, или xlInsideVertical.
Свойства
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Если записать макрос добавления границ к ячейкам какого-нибудь диапазона, то в тексте макроса будет сгенерировано очень много строк с указанием различных параметров. Создать сетку из границ ячеек с параметрами «по умолчанию» можно гораздо проще.
'или для создания сетки из границ в виде двойных линий:Создание границ одной ячейки
Создать границы только для одной ячейки в VBA Excel можно следующим образом:
Пример кода записанного макроса
Запись макроса: включаем запись, выбираем диапазон «A1:E9», на панели инструментов выбираем значок «Все границы», останавливаем запись. И это все наши выполненные действия, а в результате получаем следующий код:
Конечно, можно использовать в своих программах код, сгенерированный при записи макроса, который будет прекрасно работать. Вот только нужны ли в самописном коде такие нагромождения лишних строк?
Макросы можно и нужно использовать, когда вы не знаете название нужного свойства или его значения, а после записи макроса открываете модуль и все перед глазами. Это касается не только создания границ ячеек, но и всех остальных случаев, когда предполагаемые действия можно записать с помощью макроса.
Создание и удаление диагональных линий
Диагональные линии не относятся к границам ячеек, но принцип работы с ними тот же. Отличие заключается в том, что для отображения и удаления диагональных линий, их необходимо указывать явно:
Range ( "A1:G7" ) . Borders ( xlDiagonalDown ) . LineStyle = True Range ( "A1:G7" ) . Borders ( xlDiagonalUp ) . LineStyle = True Range ( "A1:G7" ) . Borders ( xlDiagonalDown ) . LineStyle = xlNone Range ( "A1:G7" ) . Borders ( xlDiagonalUp ) . LineStyle = xlNoneРасположение границ ячеек и диапазонов
Расположение границ по краям и внутри ячеек и диапазонов описывают константы из коллекции XlBordersIndex.
Список констант XlBordersIndex:
Константа | Значение | Описание |
---|---|---|
xlDiagonalDown | 5 | Диагональная линия от верхнего левого угла к нижнему правому углу в каждой ячейке диапазона. |
xlDiagonalUp | 6 | Диагональная линия от нижнего левого угла к правому верхнему углу в каждой ячейке диапазона. |
xlEdgeBottom | 9 | Граница по нижнему краю диапазона. |
xlEdgeLeft | 7 | Граница по левому краю диапазона. |
xlEdgeRight | 10 | Граница по правому краю диапазона. |
xlEdgeTop | 8 | Граница по верхнему краю диапазона. |
xlInsideHorizontal | 12 | Горизонтальные границы для всех ячеек в диапазоне, за исключением внешних границ диапазона. |
xlInsideVertical | 11 | Вертикальные границы для всех ячеек в диапазоне, за исключением внешних границ диапазона. |
Толщина границ ячеек и диапазонов
Толщину границ по краям и внутри ячеек и диапазонов описывают константы из коллекции XlBorderWeight.
Список констант XlBorderWeight:
Константа | Значение | Описание |
---|---|---|
xlHairline | 1 | Очень тонкая граница |
xlThin | 2 | Тонкая граница (по умолчанию) |
xlMedium | -4138 | 3* | Граница средней толщины |
xlThick | 4 | Толстая граница |
* У меня, в Excel 2016, константе xlMedium соответствует не только числовое значение -4138, но и 3.
'Отображаем у выделенной ячейки нижнюю границу в виде толстой линии ActiveCell . Borders ( xlEdgeBottom ) . Weight = xlThickСтили границ (типы линий)
Стили границ по краям и внутри ячеек и диапазонов описывают константы из коллекции XlLineStyle.
Границы являются необходимой частью каждого листа или в любом файле слова. Границы отделяют данные друг от друга, они показывают, какая часть данных относится к какой области, чтобы избежать путаницы. Кроме того, выглядит хорошо иметь границы в нашей таблице данных. В листе Excel у нас есть опции для вставки границ вручную, но как мы это сделаем в VBA, мы узнаем из этой статьи.
Чтобы применить границы в VBA, нам нужен доступ к свойствам ячейки, и в текущем случае нам нужно получить доступ к границам. Теперь нам нужно помнить, что в свойствах границ доступны различные типы опций. Например, диагональ по вертикали вниз и т. Д. Мы рассмотрим некоторые из них здесь.
Как использовать границы в VBA
Чтобы использовать границы в VBA, нам нужно выполнить следующие шаги:
- Используйте метод диапазона для доступа к значению диапазона.
- Используйте метод border, если мы хотим отформатировать только часть ячейки или границы вокруг, если мы хотим покрыть ячейки границами.
- Используйте разные стили линий, чтобы границы выглядели приятнее.
Теперь давайте рассмотрим несколько примеров и посмотрим, как мы можем вставить границу в ячейку Excel.
Пример № 1 - Границы VBA
Давайте использовать основные перечисления, которые предоставляет нам VBA, когда мы вводим ключевые слова, чтобы увидеть границы. Мы поместим границы в ячейку A1 и увидим результат.
Шаг 1: Перейдите на вкладку разработчика, откройте Visual Basic, и мы увидим VB Editor.
Шаг 2: Вставьте новый модуль из вкладки вставки. Нажмите на модуль, который мы только что вставили, который откроет окно кода для нас,
Шаг 3: Объявите подфункцию, которая означает именование нашего макроса.
Код:
Шаг 4. Сначала активируйте лист, чтобы использовать его свойства с помощью приведенного ниже кода.
Код:
Шаг 5: Теперь давайте попробуем изменить границу ячейки A1. Используйте метод диапазона, как показано ниже,
Код:
Шаг 6: Выберите свойства границ, что даст нам возможность выбрать стиль границы следующим образом:
Код:
Шаг 7: Выберите первую опцию, которая является Xdiagonalup в качестве стиля рамки.
Код:
Шаг 8: Теперь нам нужно использовать стиль линий для границ. После оператора точка (.) Используйте перечисления для стиля линии следующим образом:
Код:
Шаг 9: Тип = знак, и он даст нам многочисленные перечисления для линейного стиля следующим образом:
Код:
Шаг 10: Давайте запустим приведенный выше код, нажав F5, и увидим результат на листе 1 следующим образом:
Пример №2 - Граница VBA
Теперь давайте воспользуемся другим методом для стиля границы в VBA.
Шаг 1: У нас уже вставлен наш модуль. Назовите в нем макрос с помощью другой подфункции следующим образом:
Код:
Шаг 2: Активируйте лист с помощью следующего кода, написанного ниже,
Код:
Шаг 3: Теперь позвольте использовать метод range, чтобы активировать свойства границы, как показано ниже,
Код:
Шаг 4: Теперь запустите приведенный выше код и посмотрите результат на листе 1 следующим образом:
Пример № 3 - Граница VBA
Давайте попробуем еще несколько стилей границ и линий в другой ячейке. На этот раз мы будем использовать его в диапазоне ячеек C5: E6.
Шаг 1: У нас уже вставлен наш модуль. Назовите в нем макрос с помощью другой подфункции следующим образом:
Код:
Шаг 2: Активируйте лист с помощью следующего кода, написанного ниже,
Код:
Шаг 3: Теперь позвольте использовать метод range, чтобы активировать свойства границы, как показано ниже,
Код:
Шаг 4: Теперь запустите приведенный выше код и посмотрите результат на листе 1 следующим образом:
Пример № 4 - Граница VBA
Теперь в этом примере мы будем использовать границы вокруг ячейки, охватывающей всю ячейку. Раньше мы ограничивали только одну часть камеры. Рассмотрим следующие данные, которые мы имеем на листе 2, следующим образом:
Давайте попробуем использовать границу вокруг этих данных, используя границу вокруг метода.
Шаг 1: У нас уже вставлен наш модуль. Назовите в нем макрос с помощью другой подфункции следующим образом:
Код:
Шаг 2: Активируйте лист с помощью следующего кода, написанного ниже,
Код:
Шаг 3: Теперь давайте используем метод range, чтобы активировать границу вокруг свойств, таких как показано ниже,
Код:
Шаг 4: Теперь используйте стиль линии и толщину линии следующим образом,
Код:
Шаг 5: Запустите приведенный выше код, нажав F5, и просмотрите результат на листе 2 следующим образом:
То, что нужно запомнить
- Граница вокруг используется для покрытия всех частей клеток.
- Метод Borders используется для покрытия только части ячейки.
- X Linestyles используются для использования различных типов стилей в границах.
- Вставка границ аналогична форматированию данных.
- Границы в VBA аналогичны границам на рабочем листе, нам нужно запомнить ключевое слово для его использования.
Рекомендуемые статьи
Это руководство по границам VBA. Здесь мы обсудим, как использовать границы в Excel VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
Поскольку в этом слове есть две вещи, одна - VBA, а другая - OFFSET. В этом я объясню, как использовать функцию OFFSET с помощью VBA (Visual Basic для приложений).
VBA - это язык программирования для тех, кто работает в Excel и других программах Office, поэтому можно автоматизировать задачи в Excel, написав макросы.
OFFSET - это справочная функция в Excel. Функция OFFSET возвращает ссылку на диапазон, представляющий собой определенное количество строк и столбцов из другого диапазона или ячейки. Это одно из самых важных понятий в Excel.
Давайте рассмотрим, у нас есть набор данных, который состоит из столбцов Имя клиента , Продукт, Продажи, Количество, Скидка.
Предположим, что нам нужно перейти от определенной ячейки к определенному количеству строк и выбрать эту ячейку в этот момент времени. Функция OFFSET очень полезна. Например, из ячейки B1 мы хотим переместиться на 5 ячеек вниз и хотим выбрать 5- ю ячейку, т.е. B6. Предположим, если вы хотите перейти вниз от 2 строк ячейки B1 и перейти на 2 столбца вправо и выбрать эту ячейку, т.е. ячейку D2.
Чтобы использовать функцию OFFSET в VBA, мы должны использовать объект VBA RANGE, потому что OFFSET ссылается на ячейки, и из этого объекта RANGE мы можем использовать функцию OFFSET. В Excel RANGE относится к диапазону ячеек.
Давайте посмотрим, как OFFSET используется с RANGE.
Range ( «A1»). Смещение (5) .select
Как использовать функцию OFFSET в Excel VBA?
Ниже приведены различные примеры использования функции OFFSET в Excel с использованием кода VBA.
Вы можете скачать этот шаблон VBA OFFSET Excel здесь - Шаблон VBA OFFSET Excel
VBA OFFSET - Пример № 1
Шаг 1. Выберите вкладку «Разработчик». Нажмите «Вставить» и выберите первый вариант из элементов управления ActiveX. Как вы можете видеть эту командную кнопку.
Шаг 2: Перетащите стрелку в любую ячейку, чтобы создать командную кнопку .
Шаг 3: Чтобы войти в функцию OFFSET, щелкните правой кнопкой мыши на кнопке Command и выберите View Code.
При нажатии на кнопку «Просмотреть код» появляются окна Microsoft VBA (Visual Basic для приложений). В этом окне мы видим, что написана какая-то функция.
Код:
Шаг 4: Внутри этой функции мы должны написать наш код OFFSET для выбора ячеек. Как упоминалось ранее, мы должны использовать функцию OFFSET с RANGE в VBA.
Код:
Шаг 5: В этом коде мы должны выбрать 5- ю ячейку столбца Product, т.е. B6 . Cell1 в Range - это B1, потому что мы должны переместиться на 5 ячеек от ячейки B1 к B6, то есть на 5 ячеек вниз.
Код:
Функция OFFSET имеет два аргумента:
- RowOffset : сколько строк мы хотим переместить из выбранной строки. Мы должны передать число в качестве аргумента.
- ColumnOffset : сколько столбцов мы хотим переместить из выбранной строки.
Шаг 6: Теперь я хочу выбрать ячейку B6, т.е. мне нужно переместиться на 5 ячеек вниз. Итак, мы должны ввести 5 в качестве параметра для смещения строки.
Код:
Шаг 7: После закрытия скобки мы должны поставить точку (.) И написать метод Select.
Код:
Шаг 8: Чтобы выбрать ячейку B6, нажмите кнопку «Command».
Как мы видим, ячейка B6 выбирается после нажатия на кнопку.
VBA OFFSET - Пример № 2
В этом примере мы увидим, как использовать аргумент столбца OFFSET. Мы будем работать над теми же данными. Все вышеперечисленные шаги будут одинаковыми, но нам нужно внести изменения в код.
Так как я хочу сдвинуться вниз на 5 ячеек и взять нужные 3 столбца, чтобы добраться до ячейки E6
Код:
Чтобы выбрать ячейку E6, нажмите кнопку «Command».
Как мы видим, ячейка E6 выбрана после нажатия на кнопку.
То, что нужно запомнить
- Это справочная функция в Excel. Функция OFFSET возвращает ссылку на диапазон, представляющий собой определенное количество строк и столбцов из другого диапазона или ячейки.
- VBA OFFSET используется с объектом RANGE в VBA.
Рекомендуемые статьи
Это руководство по VBA OFFSET. Здесь мы обсуждаем, как использовать функцию OFFSET в Excel с использованием кода VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
Читайте также: