Vba как сделать границы

Объект Borders (Excel)

Коллекция из четырех пограничных объектов, которые представляют четыре границы объекта Range или Объекта Style .

Примечания

Используйте свойство Borders , чтобы вернуть коллекцию Границ , которая содержит все четыре границы.

Свойства границы можно устанавливать только для отдельных границ с объектами Range и Style . Другие пограничные объекты, такие как строки ошибок и строки серий, имеют границу, которая рассматривается как одна сущность, независимо от того, сколько ее сторон. Для этих объектов необходимо возвращать и устанавливать свойства для всей границы в качестве единицы. Дополнительные сведения см. в пункте Пограничный объект.

Пример

В следующем примере добавляется двойная граница к ячейке A1 на таблице 1.

Используйте Границы (индекс), где индекс определяет границу, чтобы вернуть один пограничный объект. В следующем примере устанавливается цвет нижней границы ячеек A1:G1 до красного.

Индекс может быть одним из следующих констант XlBordersIndex: xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, xlEdgeTop, xlInsideHorizontal или xlInsideVertical.

Свойства

См. также

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Пограничный объект (Excel)

Представляет границу объекта.

Комментарии

Большинство пограничных объектов (все, за исключением объектов Range и Style ) имеют границу, которая рассматривается как одно целое независимо от того, сколько сторон оно имеет. Вся граница должна быть возвращена в качестве единицы.

Чтобы вернуть объект Border для этого типа объекта, используйте свойство Border, например объект TrendLine.

Обратите внимание, что визуальные свойства объекта Border блокировка; то есть изменение одного свойства может вызвать изменения в другом. В большинстве случаев индуцированные изменения служат для того, чтобы сделать границу видимой (которая может быть нежелательной или нежелательной). Однако возможны другие (более неожиданные) результаты.

Ниже приводится пример блокировки с неожиданными результатами. В этом примере установка свойства Weight границы на xlThick вызывает свойство LineStyle стать xlSolid, несмотря на то, что ранее оно было назначено xlDashDotDot.

Пример

В следующем примере изменяется тип и стиль строки линии тренда на активной диаграмме.

Объекты Range и Style имеют четыре дискретных границ: левый, правый, верхний и нижний, которые можно возвращать по отдельности или в группе. Используйте свойство Borders , чтобы вернуть коллекцию Границ , которая содержит все четыре границы и обрабатывает границы как единицу. В следующем примере добавляется двойная граница к ячейке A1 на таблице 1.

Используйте Границы (индекс), где индекс определяет границу, чтобы вернуть один пограничный объект. В следующем примере задает цвет нижней границы ячеек A1:G1.

Индекс может быть одним из следующих констант XlBordersIndex: xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, xlEdgeTop, xlInsideHorizontal или xlInsideVertical.

Свойства

См. также

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

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

VBA Excel. Программное создание границ ячеек

Программное создание границ ячеек произвольного диапазона с помощью кода VBA Excel. Свойство Borders объекта Range. Создание границ одной ячейки. Код макроса.

Программное создание границ ячеек

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

Читайте также:  Как сделать диван террария

Создание границ одной ячейки

Создать границы ячейки (только для одной ячейки) в VBA Excel можно следующим образом:

Пример кода записанного макроса

Запись макроса: включаем запись, выбираем диапазон «A1:E9», на панели инструментов выбираем значок «Все границы», останавливаем запись. И это все наши выполненные действия, а в результате получаем следующий код:

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

Макросы можно и нужно использовать, когда вы не знаете название нужного свойства или его значения, а после записи макроса открываете модуль и все перед глазами. Это касается не только создания границ ячеек, но и всех остальных случаев, когда предполагаемые действия можно записать с помощью макроса.

Создание и удаление диагональных линий

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

Расположение границ ячеек и диапазонов

Расположение границ по краям и внутри ячеек и диапазонов описывают константы из коллекции 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.

Стили границ (типы линий)

Стили границ по краям и внутри ячеек и диапазонов описывают константы из коллекции XlLineStyle.

Список констант XlLineStyle:

Константа Значение Описание
xlContinuous 1 Непрерывная линия
xlDash -4115 Штриховая линия
xlDashDot 4 Чередование точек и тире
xlDashDotDot 5 Чередование двух точек и тире
xlDot -4118 Пунктирная линия
xlDouble -4119 Двойная линия
xlLineStyleNone -4142 Нет границы (удаление границы)
xlSlantDashDot 13 Линия, разрезанная двойными слешами

Применяем разные типы линий к разным сторонам выделенного диапазона:

Источник

Как сделать границы ячеек макросом в таблице Excel

Рисовать границы для разных ячеек вручную – это потребует много драгоценного времени и сил. Лучше применить специальный макрос, который сам поставит границы с разными типами и цветами линий для объединенных и необъединенных ячеек. Он автоматически определит положение объединенных ячеек и сам присвоит им линии границ в соответствии со всеми пожеланиями пользователя.

Как изменить границы макросом в ячейках таблицы Excel

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

  1. Отформатировать ячейки таблицы таким образом, чтобы были установленные границы с толстой линией только для диапазонов каждого отдельного штата. А внутри группы городов каждого штата необходимо установить ячейкам границы с тонкой линией.
  2. Таким же образом хотим форматировать ячейки в объединенных диапазонах, охватывающих несколько столбцов. А, столбцы с показателями продаж и выручки необходимо отделить тонкими линиями. Дополнительно целая таблица должна иметь самую толстую линию для внешней границы по периметру.
  3. Если объединенная ячейка охватывает несколько строк, то границы ячеек, отделяющие эти строки, будут иметь тоненькие линии. По аналогичному принципу будут определены границы столбцов которых охватывает объединенная ячейка.

Напишем свой макрос, который сам автоматически выполнит весь этот объем работы для любой таблицы. Откройте редактор Visual Basic (ALT+F11):

А затем создайте новый модуль с помощью инструмента: «Insert»-«Module». А потом введите в него следующий VBA-код:

Sub BorderLine()
Dim i As Long
Selection.Borders(xlEdgeBottom).Weight = xlMedium
Selection.Borders(xlEdgeTop).Weight = xlMedium
Selection.Borders(xlEdgeLeft).Weight = xlMedium
Selection.Borders(xlEdgeRight).Weight = xlMedium
Selection.Borders(xlInsideHorizontal).Weight = xlThin
Selection.Borders(xlInsideVertical).Weight = xlThin
For i = 1 To Selection.Count
If Selection(i).MergeArea.Address <> Selection(i).Address Then
Application.Intersect(Selection, Selection(i).MergeArea.EntireColumn).Borders(xlInsideVertical).Weight = xlHairline
Application.Intersect(Selection, Selection(i).MergeArea.EntireRow).Borders(xlInsideHorizontal).Weight = xlHairline
End If
Next
End Sub

Теперь если мы хотим автоматически форматировать целую таблицу в один клик мышки, выделите диапазон A1:D18. А потом просто выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«BorderLine»-«Выполнить».

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

С помощью свойства Weight можно установить 4 типа толщины линии для границ ячеек:

  1. xlThink – наиболее толстая линия.
  2. xlMedium – просто толстая граница.
  3. xlThin – стандартная толщина линии для границ.
  4. xlHairLine – свойство для самой тонкой границы ячейки.

Внимание! Если перед использованием макроса некоторые ячейки уже имели свои линии границ в другом цвете кроме черного или их лини были в другом стиле, тогда после запуска макроса некоторые ячейки могут получить другой цвет или стиль обводки. Чтобы перестраховаться от таких ошибок, в начале кода макроса, после строки декларации переменной i, вставим еще 2 строки с кодом:

Selection.Borders.Color = vbBlack Selection.Borders.Color = xlContinuous

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

Sub BorderLine()
Dim i As Long
Selection.Borders.Color = vbBlack
Selection.Borders.Color = xlContinuous
Selection.Borders(xlEdgeBottom).Weight = xlMedium
Selection.Borders(xlEdgeTop).Weight = xlMedium
Selection.Borders(xlEdgeLeft).Weight = xlMedium
Selection.Borders(xlEdgeRight).Weight = xlMedium
Selection.Borders(xlInsideHorizontal).Weight = xlThin
Selection.Borders(xlInsideVertical).Weight = xlThin
For i = 1 To Selection.Count
If Selection(i).MergeArea.Address <> Selection(i).Address Then
Application.Intersect(Selection, Selection(i).MergeArea.EntireColumn).Borders(xlInsideVertical).Weight = xlHairline
Application.Intersect(Selection, Selection(i).MergeArea.EntireRow).Borders(xlInsideHorizontal).Weight = xlHairline
End If
Next
End Sub

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

Источник

Границы VBA

Границы в VBA Excel

Мы используем границы в Excel, чтобы выделить наши данные, на любой панели мониторинга очень важно умение представлять важные данные, и это делается с помощью границ, границы — это свойство в VBA к которому можно получить доступ, используя метод range и задав соответствующий стиль границы, поскольку мы знаем, что существуют разные стили границы.

Если ты хорошо разбираешься в форматирование в Excel Форматирование в Excel Форматирование — это полезная функция Excel, которая позволяет изменять внешний вид данных на листе. Форматирование можно выполнять разными способами. Например, мы можем использовать вкладку стилей и формата на главной вкладке, чтобы изменить шрифт ячейки или таблицы. читать далее , тогда вы сможете называть себя «косметологом Excel». Чтобы отчеты выглядели привлекательными для конечного пользователя или читателей, форматирование играет в этом важную роль. Надеюсь, вы хорошо знакомы с методами форматирования обычного рабочего листа. Форматирование с помощью кодирования VBA Форматирование с помощью кодирования VBA Условное форматирование также возможно в программировании Excel VBA с помощью макроса / процедуры «Форматирование условий». Условный формат применяется только к ячейкам, которые соответствуют определенным критериям, например значениям выше определенного порога, положительным или отрицательным значениям или значениям с определенной формулой и т. Д. читать далее требует значительного количества Язык кодирования VBA Язык кодирования VBA Код VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи. читать далее . В этой статье мы покажем вам один из наиболее недооцененных методов форматирования, то есть применение границ Excel VBA.

Вы можете свободно использовать это изображение на своем веб-сайте, в шаблонах и т. Д. Пожалуйста, предоставьте нам ссылку с указанием авторства Как указать авторство? Ссылка на статью должна содержать гиперссылку
Например:
Источник: VBA Borders (wallstreetmojo.com)

Примеры границ в VBA

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

Пример №1 — Применение границ VBA с кодированием

Создание макроса для применения границ Excel VBA с разными стилями, что делает их доступными как дополнение к Excel Дополнение к Excel Надстройка — это расширение, которое добавляет дополнительные функции и параметры в существующий Microsoft Excel. читать далее лента, упрощает работу, когда мы хотим применить границы VBA.

Каждая ячейка на листе имеет границы и цвет фона. По умолчанию каждая ячейка не имеет границы и цвета фона.

На листе под Вкладка ГЛАВНАЯ у нас есть опция границы, и если вы нажмете на выпадающий список в Excel Раскрывающийся список в Excel Выпадающий список в Excel — это предварительно определенный список входных данных, который позволяет пользователям выбрать вариант. читать далее , у нас есть множество вариантов.

Но в VBA первое, что нам нужно сделать, это решить, к какой ячейке или диапазону ячеек мы будем применять стили форматирования границ Excel VBA. Таким образом, мы можем ссылаться на диапазон ячеек или ячейки с использованием VBA RANGE Ячейки с использованием VBA RANGE Свойство диапазона VBA используется для ссылки на любые данные, ячейки или выбор. Это встроенное свойство, которое позволяет нам получить доступ к любой части рабочего листа. Использование свойства диапазона для диапазона, подобного одной ячейке, называется ячейками диапазона. читать далее объект. Например, если вы хотите изменить границу ячейки B5, вы можете написать такой код.

Диапазон («B5»)

Затем нам нужно получить доступ к «Границы» имущество.

Код:

После применения свойства Excel VBA «Границы» откройте скобку, чтобы увидеть все виды параметров форматирования границ.

Код:

Здесь у нас есть xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight, xlEdgeTop, xlInsideHorizontal и xlInsideVertical.

После выбора стиля границы нам нужно выбрать характеристику, с которой мы хотим работать. Один из символов, которые нам здесь нужно использовать, — это «Стиль линии » поэтому выберите свойство «Стиль линии».

Код:

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

Поставьте знак равенства и выберите «XlLineStyle перечисление.

Код:

Поставьте точку, чтобы увидеть все доступные стили границ.

Код:

Здесь у нас много вариантов. xlContinuous, xldash, xlDashDot, xlDashDotDot, xlDot, xlDouble, XlLineStyleNone и xlSlantDashDot.

Хорошо, теперь я выбрал вариант «xlDouble ».

Код:

Теперь, если я запустил код, он применит двойную линию к нижней части ячейки. B5.

Тип линии: “xlContinuous».

Код:

Результат:

Тип линии: «столкновение».

Код:

Результат:

Тип линии: “xlDashDot ».

Код:

Результат:

Тип линии: “xlDashDotDot».

Код:

Результат:

Тип линии: “xlDot ».

Код:

Результат:

Тип линии: “xlLineStyleNone».

Код:

Результат:

Это удалит границу указанной ячейки.

Тип линии: “xlSlantDashDot».

Код:

Результат:

Пример # 2 — Изменение границы с помощью метода VBA Borders Around

Мы также можем изменить границы ячейки с помощью VBA Границы вокруг метод. Как только диапазон ячеек или ячеек указан, нам нужно получить доступ к VBA Границы вокруг метод.

Откройте круглые скобки, чтобы увидеть все параметры.

Диапазон («B5»). BorderAround ([Line Style], [Weight as xlBorderWeight], [ColorIndex], [Color], [Theme Color])

Мы можем упомянуть стиль линии, цвет линии, толщину границы и многое другое, что мы можем сделать с помощью этого метода.

Код:

Это изменит стиль линии на xlContinuous.

Стиль линии: =xlContinuous

Вес бордюра толстый.

Вес: =xlThick

Результат этого кода показан ниже.

Подобно этому, используя свойство и метод excel VBA Borders и Border Around, мы можем изменить границу и элементы границ с помощью кодирования VBA.

Источник

Читайте также:  Mysql как сделать схему
Поделиться с друзьями
Ответ и точка