Vba word таблица цвет ячейки

GIP

5 / 5 / 0

Регистрация: 07.04.2010

Сообщений: 273

1

01.11.2020, 08:58. Показов 2220. Ответов 2

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Всем привет.
Я создал таблицу, но так и не нашел какой командой задать цвет фона ячейки.
Заранее спасибо за помощь.

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
       
 
r = doc.Bookmarks.Item("z32").Range
table = doc.Tables.Add(r, 100, 6, 1, 1)
table.Style = "Сетка таблицы"
for i = 1 to 100
                                table.Cell(i, 1).Range.Text = "1"
                                table.Cell(i, 2).Range.Text = "2"
                                table.Cell(i, 3).Range.Text = "3"
                                table.Cell(i, 4).Range.Text = "4"
                                table.Cell(i, 5).Range.Text = "5"
                                table.Cell(i, 6).Range.Text = "6"
next



0



Uswer

1700 / 1193 / 306

Регистрация: 26.06.2017

Сообщений: 3,289

01.11.2020, 11:24

2

Лучший ответ Сообщение было отмечено Yury Komar как решение

Решение

VB.NET
1
2
3
4
5
6
7
With table.Cell(1, 1)
        With .Shading
            .Texture = wdTextureNone
            .ForegroundPatternColor = wdColorAutomatic
            .BackgroundPatternColor = wdColorRed
        End With
End With



1



5 / 5 / 0

Регистрация: 07.04.2010

Сообщений: 273

01.11.2020, 12:02

 [ТС]

3

большое спасибо, работает !



0



In Word I have a document with multiple tables full of data. Hidden inside these cells (out of view but the data is there) is the Hex code of the color I want to shade the cells. I chose the hex value just because it’s relatively short and it’s a unique bit of text that won’t be confused with the rest of the text in the cell.

I’ve found some code online to modify but I can’t seem to make it work. It doesn’t give any errors, just nothing happens. I feel like the problem is in searching the tables for the text value but I’ve spent hours on this and I think I’ve confused myself now!

Sub ColourIn()

Dim oTbl As Table
Dim oCel As Cell
Dim oRng As Range
Dim oClr As String

For Each oTbl In ActiveDocument.Tables
For Each oCel In oTbl.Range.Cells
Set oRng = oCel.Range
oRng.End = oRng.End - 1

If oRng = "CCFFCC" Then
oCel.Shading.BackgroundPatternColor = wdColorLightYellow
End If
If oRng = "FFFF99" Then
oCel.Shading.BackgroundPatternColor = wdColorPaleBlue
End If

Next
Next
End Sub

Thanks!

Edit:

I’ve also tried this code wit the same result of nothing happening:

Sub EachCellText()

Dim oCell As Word.Cell
Dim strCellString As String

For Each oCell In ActiveDocument.Tables(1).Range.Cells
strCellString = Left(oCell.Range.Text, _
Len(oCell.Range.Text) - 1)

If strCellString = "CCFFFF" Then
oCell.Shading.BackgroundPatternColor = wdColorLightGreen
If strCellString = "CCFFCC" Then
oCell.Shading.BackgroundPatternColor = wdColorLightYellow
If strCellString = "FFFF99" Then
oCell.Shading.BackgroundPatternColor = wdColorPaleBlue

End If
End If
End If

Next
End Sub

Deduplicator's user avatar

Deduplicator

44.3k7 gold badges65 silver badges115 bronze badges

asked Mar 23, 2016 at 11:21

John H's user avatar

2

Your Code is getting stuck nowhere. But you are checking the whole Cell Value against the Hex code, and this will not work since «blablabla FFFFFF» is never equal to «FFFFFF». So you have to check if the Hex code is in the Cell value:

Sub ColourIn()

Dim oTbl As Table
Dim oCel As Cell
Dim oRng As Range
Dim oClr As String

For Each oTbl In ActiveDocument.Tables

    For Each oCel In oTbl.Range.Cells

        Set oRng = oCel.Range
        oRng.End = oRng.End - 1

        Dim cellvalue As String

        'check if Colorcode is in cell
        If InStr(oRng, "CCFFCC") Then

            'Set Cell color
            oCel.Shading.BackgroundPatternColor = wdColorLightYellow

            'Remove Colorcode from Cell
            cellvalue = Replace(oRng, "CCFFCC", "")

            'load new value into cell
            oRng = cellvalue
        End If
    Next
Next
End Sub

Now you just have to add all the colors you want to use (I would prefer a Select Case statement) and the code should work fine

answered Mar 23, 2016 at 12:04

gizlmo's user avatar

gizlmogizlmo

1,8621 gold badge14 silver badges14 bronze badges

4

Руководство по Excel VBA Color Index. Здесь мы обсудили, как использовать Color Index в VBA вместе с некоторыми практическими примерами и загружаемым шаблоном Excel.

Свойство .Interior.Color объекта Range

Начиная с Excel 2007 основным способом заливки диапазона или отдельной ячейки цветом (зарисовки, добавления, изменения фона) является использование свойства .Interior.Color объекта Range путем присваивания ему значения цвета в виде десятичного числа от 0 до 16777215 (всего 16777216 цветов).

Заливка ячейки цветом в VBA Excel

Пример кода 1:

SubColorTest1()

Range(“A1”).Interior.Color=31569

Range(“A4:D8”).Interior.Color=4569325

Range(“C12:D17”).Cells(4).Interior.Color=568569

Cells(3,6).Interior.Color=12659

EndSub

Поместите пример кода в свой программный модуль и нажмите кнопку на панели инструментов «Run Sub» или на клавиатуре «F5», курсор должен быть внутри выполняемой программы. На активном листе Excel ячейки и диапазон, выбранные в коде, окрасятся в соответствующие цвета.

Есть один интересный нюанс: если присвоить свойству .Interior.Color отрицательное значение от -16777215 до -1, то цвет будет соответствовать значению, равному сумме максимального значения палитры (16777215) и присвоенного отрицательного значения. Например, заливка всех трех ячеек после выполнения следующего кода будет одинакова:

SubColorTest11()

Cells(1,1).Interior.Color=12207890

Cells(2,1).Interior.Color=16777215+(12207890)

Cells(3,1).Interior.Color=4569325

EndSub

Проверено в Excel 2016.

Вывод сообщений о числовых значениях цветов

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

Пример кода 2:

SubColorTest2()

MsgBox Range(“A1”).Interior.Color

MsgBox Range(“A4:D8”).Interior.Color

MsgBox Range(“C12:D17”).Cells(4).Interior.Color

MsgBox Cells(3,6).Interior.Color

EndSub

Вместо вывода сообщений можно присвоить числовые значения цветов переменным, объявив их как Long.

Использование предопределенных констант

В VBA Excel есть предопределенные константы часто используемых цветов для заливки ячеек:

Предопределенная константа Наименование цвета
vbBlack Черный
vbBlue Голубой
vbCyan Бирюзовый
vbGreen Зеленый
vbMagenta Пурпурный
vbRed Красный
vbWhite Белый
vbYellow Желтый
xlNone Нет заливки

Присваивается цвет ячейке предопределенной константой в VBA Excel точно так же, как и числовым значением:

Пример кода 3:

Range(“A1”).Interior.Color=vbGreen

Цветовая модель RGB

Цветовая система RGB представляет собой комбинацию различных по интенсивности основных трех цветов: красного, зеленого и синего. Они могут принимать значения от 0 до 255. Если все значения равны 0 — это черный цвет, если все значения равны 255 — это белый цвет.

Выбрать цвет и узнать его значения RGB можно с помощью палитры Excel:

Палитра Excel

Палитра Excel

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

Пример кода 4:

Range(“A1”).Interior.Color=RGB(100,150,200)

Очистка ячейки (диапазона) от заливки

Для очистки ячейки (диапазона) от заливки используется константа xlNone:

Range(“A1”).Interior.Color=xlNone

Источник: http://vremya-ne-zhdet.ru/vba-excel/tsvet-yacheyki-zalivka-fon/

Синтаксис

выражения. Цвет

выражение Выражение, возвращаемая объекту Interior.

Object Цвет
Border Цвет границы.
Borders Цвет всех четырех границ диапазона. Если они не одного цвета, цвет возвращает 0 (ноль).
Font Цвет шрифта.
Interior Цвет затенки ячейки или цвет заполнения объекта рисования.
Tab Цвет вкладки.

Источник: http://docs.microsoft.com/ru-ru/office/vba/api/excel.interior.color

Syntax

expression.Color

expression An expression that returns an Interior object.

Object Color
Border The color of the border.
Borders The color of all four borders of a range. If they’re not all the same color, Color returns 0 (zero).
Font The color of the font.
Interior The cell shading color or the drawing object fill color.
Tab The color of the tab.

Источник: http://planshet-info.ru/kompjutery/excel-vba-interior-color

Книга “Microsoft Word 2016 Шаг за Шагом”

Чтобы узнать все возможности программы Microsost Word, скачайте понятный самоучитель “Microsoft Word 2016 Шаг за Шагом“.

Книга  Microsoft Word 2016 Шаг за Шагом

Вы можете скачать Бесплатную электронную книгу по работе в Microsoft Word 2016 в формате PDF, по ссылке ниже.

Источник: http://ideavrabote.ru/word/kak-izmenit-cvet-tablicy-v-vorde

Форматирование диапазона

Самый известный способ поставить прочерк в ячейке – это присвоить ей текстовый формат. Правда, этот вариант не всегда помогает.

  1. Выделяем ячейку, в которую нужно поставить прочерк. Кликаем по ней правой кнопкой мыши. В появившемся контекстном меню выбираем пункт «Формат ячейки». Можно вместо этих действий нажать на клавиатуре сочетание клавиш Ctrl+1.
  2. Запускается окно форматирования. Переходим во вкладку «Число», если оно было открыто в другой вкладке. В блоке параметров «Числовые форматы» выделяем пункт «Текстовый». Жмем на кнопку «OK».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-44.png

После этого выделенной ячейке будет присвоено свойство текстового формата. Все введенные в нее значения будут восприниматься не как объекты для вычислений, а как простой текст. Теперь в данную область можно вводить символ «-» с клавиатуры и он отобразится именно как прочерк, а не будет восприниматься программой, как знак «минус».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-45.png

Существует ещё один вариант переформатирования ячейки в текстовый вид. Для этого, находясь во вкладке «Главная», нужно кликнуть по выпадающему списку форматов данных, который расположен на ленте в блоке инструментов «Число». Открывается перечень доступных видов форматирования. В этом списке нужно просто выбрать пункт «Текстовый».

kak-sdelat-chtoby-vmesto-nulya-byl-procherk-v-excel-46.png

Источник: http://exceltut.ru/zadat-imya-tsveta-iz-biblioteki-tsvetov/

Пример

В этом примере устанавливается цвет меток меток на оси значения на диаграмме1.

Charts(“Chart1”).Axes(xlValue).TickLabels.Font.Color = _ RGB(0, 255, 0)

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

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

Источник: http://docs.microsoft.com/ru-ru/office/vba/api/excel.interior.color

Описание VBA-макроса для формата ячеек таблицы Excel

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

  1. Текст в значениях ячеек выравнивается по центру горизонтально и вертикально.
  2. Включен построчный перенос текста.
  3. Все границы ячеек получают черную обычной толщины непрерывную линию с черным цветом.
  4. Сброс цвета шрифта на авто.
  5. Удаляется любая заливка ячеек.
  6. Ширина столбцов автоматически настраивается под текст в ячейках.
  7. Автоматически настроить высоту строк по содержимому ячеек.

Модификация исходного кода макроса для форматирования

Если необходимо сделать так чтобы текст выравнивался не по центру относительно горизонтали, а по правую сторону ячейки, тогда измените константу xlHAlignCenter на xlHAlignRight. Она находиться в свойстве .HorizontalAlignment. Сделайте это следующим образом:

.HorizontalAlignment = xlHAlignRight.

Таким же образом можно выровнять текст по левую сторону изменив значение константы на xlHAlignLeft. Или можно выровнять положение текста по ширине ячейки используя константу xlHAlignJustify.

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

Если хотите выровнять текс к верху ячейки, тогда воспользуйтесь константой xlHAlignTop.

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

.Borders.LineStyle = xlDash

.Borders.Color = vbBlue

.Borders.Weight = xlMedium

Описание настройки форматирования для линий границ ячеек. Мы будем получать разные дополнительные типы линий границ если для свойства LineStyle присваивать такие константы:

  • xlDoshDot – применяется для рисования пунктирных линий в границах ячеек;
  • xlDouble – рисует двойную линию;
  • xlHairLine – рисует тонкую линию;
  • xlThick – для рисования очень толстой линии.

Для настройки цвета линий Excel предлагает всего 8 констант для определенных цветов. Константы для настройки цвета линий границ для свойства Color:

  • vbBlack – черный;
  • vbWhite – белый;
  • vbRed – красный;
  • vbGreen –зеленый;
  • vbBlue – синий;
  • vbYellow – желтый;
  • vbMagenta – алый;
  • vbCyan – голубой.

Но при необходимости присвоить линиям границ другие цвета можно вместо константы для свойства Color записать функцию RGB(). Достаточно лишь в аргументе этой функции указать код цвета по шкале от 0 и до 255.

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

.BorderAround xlContinuous, xlMedium, vbBlack

Описание: В первом аргументе для метода BorderAround можно записать также другой стиль линии. Во втором – толщину линии, а в третьем – цвет. Константы, которые можно присвоить в качестве значений для этих аргументов можно использовать те же, которые мы использовали для свойств: LineStyle, Weight, Color.

Если нужно экспонировать первую строку для выделенного диапазона с помощью жирного и курсивного шрифта значений ячеек. А также заполнить ячейки первой строки заливкой с голубым цветом, тогда в самом конце кода макроса перед последней инструкцией End Sub следует добавить несколько строк с VBA-кодом:

.Rows(1).Font.Bold = True

.Rows(1).Font.Italic = True

.Rows(1).Interior.Color = vbCyan

Если хотите присвоить такой же формат для не только для первой строки, но и для первого столбца выделенного диапазона, тогда скопируйте и вставьте ниже эти 3 строчки кода. После в последних трех строках измените свойство Rows на Columns.

.Columns (1).Font.Bold = True

.Columns (1).Font.Italic = True

.Columns (1).Interior.Color = vbCyan

Если нужно задать особенный формат для экспонирования последней строки выделенного диапазона, тогда измените число 1 в аргументе свойства Rows на число всех выделенных строк .Rows.Count. Например, добавьте в конец кода еще такую строку:

.Rows(.Rows.Count).Font.Bold = True

Полная версия модифицированного кода макроса выглядит так:

Sub SbrosFormat()
If TypeName(Selection) <> “Range” Then Exit Sub
With Selection
.HorizontalAlignment = xlVAlignCenter
.VerticalAlignment = xlVAlignCenter
.WrapText = True
.Borders.LineStyle = xlDash
.Borders.Color = vbBlue
.Borders.Weight = xlMedium
.Font.ColorIndex = xlColorIndexAutomatic
.Interior.ColorIndex = xlColorIndexAutomatic
.Columns.AutoFit
.Rows.AutoFit
.BorderAround xlContinuous, xlMedium, vbBlack
.Rows(1).Font.Bold = True
.Rows(1).Font.Italic = True
.Rows(1).Interior.Color = vbCyan
.Columns(1).Font.Bold = True
.Columns(1).Font.Italic = True
.Columns(1).Interior.Color = vbCyan
.Rows(.Rows.Count).Font.Bold = True

End WithEnd Sub

Пример работы измененного кода VBA-макроса:

Пример после изменений в коде.

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

Источник: http://exceltable.com/vba-macros/makrosy-dlya-formatirovaniya-yacheek

См. также

Выбор цветов в диалоговом окне “Цвета”

Добавление границы в таблицу

Применение градиентной заливки к фигуре

Нужна дополнительная помощь?

Источник: http://support.microsoft.com/ru-ru/office/%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BB%D0%B8%D0%B2%D0%BA%D0%B8-%D0%B2-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B5-62580400-ad23-484b-8ee0-8e6df730e51e

Синтаксис Syntax

RGB(красный, зеленый, синий) RGB(red, green, blue)

Синтаксис функции RGB состоит из следующих именованных аргументов: The RGB function syntax has these named arguments:

Часть Part Описание Description
отображаем red Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее красный компонент цвета. Number in the range 0–255, inclusive, that represents the red component of the color.
Интенсив green Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее зеленый компонент цвета. Number in the range 0–255, inclusive, that represents the green component of the color.
компонентов blue Обязательный аргумент; Variant (Integer). Required; Variant (Integer). Число в диапазоне 0–255 включительно, представляющее синий компонент цвета. Number in the range 0–255, inclusive, that represents the blue component of the color.

Источник: http://real-electro.ru/kak-ustanovit-tsvet-yacheyki-vba/

Источник: http://skolkogramm.ru/info/ustanovka-czveta-yachejki-pri-pomoshhi-vba-vba-excel-czvet-yachejki-zalivka-fon

Как в Excel разделить ячейку по диагонали и написать текст?

Разделить ячейку в Excel по диагонали также возможно. Для этого нажимаем на ячейку, которую необходимо разделить по диагонали, правой кнопкой мыши, и выбираем в меню «Формат ячеек». В появившемся окошке на вкладке «Граница» можно выбрать разделение ячейки по диагонали, причем в двух вариантах.

Источник: http://knigavrach.ru/vopros-kak-izmenit-tsvet-iacheiki-tablitsy-v-word.html

Формулировка задачи:

Здравствуйте,нужно получить макросом vba в excel,цвет определенной таблицы определенной ячейки из другого файла word.
Как это реализовать?

Код к задаче: «Получить из excel цвет ячейки таблицы word»

textual

Листинг программы

Option Explicit
 
Public Function Table_colour(ByVal docObj As Document, ByVal n As Integer, ByVal i As Integer, ByVal j As Integer)
    Table_colour = docObj.Tables.Item(n).Cell(i, j).Range.Shading.BackgroundPatternColorIndex
End Function
Sub test_table_colour()
    MsgBox Table_colour(ActiveDocument, 1, 2, 1)
    MsgBox Table_colour(ActiveDocument, 1, 1, 1)
End Sub

15.3. Свойства Range

15.3.1. Address — адрес ячейки в формате A1

15-05-Range Address.xlsm — пример к п. 15.3.1.

Возвращает строку, представляющую собой адрес ячейки в формате A1. Адрес выводится в абсолютном виде — снабжается знаками $.

Листинг 15.15 позволяет, задав адрес ячейки в виде R1C1, вывести ее адрес в формате A1.

Dim num_Row
    Dim num_Col
    Dim MyRange As Range
    num_Row = Val(InputBox("Введите строку"))
    num_Col = Val(InputBox("Введите столбец"))
    Set MyRange = _
        ActiveSheet.Cells(num_Row, num_Col)
    MsgBox (MyRange.Address + _
    " - имя ячейки " & _
    " с индексами " & num_Row & " и " & num_Col)


Листинг
15.15.
Вывод адреса ячейки в формате A1

15.3.2. Areas — работа с несмежными выделенными областями

15-06-Range Areas.xlsm — пример к п. 15.3.2.

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

'Для хранения исходной
    'выделенной области
    Dim obj_Area As Range
    'Для хранения ссылки на
    'отдельные диапазоны
    Dim obj_Range As Range
    'Для исходного листа
    Dim obj_Sheet As Worksheet
    'Для каждого из новых листов
    Dim obj_OldSheet As Worksheet
    'Присвоим ссылку на выделенную область
    Set obj_Area = Selection
    'Ссылка на активный лист
    Set obj_OldSheet = ActiveSheet
    'Для каждой несмежной области в
    'выделении
    For Each obj_Range In obj_Area.Areas
        'Копируем эту область
        obj_OldSheet.Activate
        obj_Range.Select
        Selection.Copy
        'Создаем новый лист
        'и вставляем в него
        Set obj_Sheet = Worksheets.Add
        obj_Sheet.Select
        obj_Sheet.Paste
    Next


Листинг
15.16.
Вывод выделенных несмежных областей в отдельные листы

15.3.3. Borders — управление границами ячеек

15-07-Range Borders.xlsm — пример к п. 15.3.3.

Позволяет управлять границами ячеек. Границы ячеек обычно используются для оформления таблиц. Как правило, работа ведется с неким выделенным диапазоном ячеек, для которого настраивают внешние границы, внутренние границы, типы и цвета линий. Работа с границами ячеек ведется посредством свойств объектов Border. Собственно говоря, самое важное свойство коллекции Borders — это Item, дающее доступ к отдельным объектам Border — то есть к границам. Остальные действия с границами проводятся с помощью свойств объектов Border.

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

  • xlDiagonalDown — диагональ из левого верхнего угла ячейки в правый нижний
  • xlDiagonalUp — диагональ из левого нижнего угла ячейки в правый верхний
  • xlEdgeBottom — нижняя внешняя граница
  • xlEdgeLeft — левая внешняя граница
  • xlEdgeRight — правая внешняя граница
  • xlEdgeTop — верхняя внешняя граница
  • xlInsideHorizontal — внутренние горизонтальные границы
  • xlInsideVertical — внутренние вертикальные границы

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

Color — позволяет задавать цвет границы. Для задания цвета можно использовать функцию RGB, которая по переданным ей значениям цветовых компонентов в формате RGB возвращает нужный цвет. Например, такой вызов этой функции возвратит красный цвет: RGB(255,0,0). Также здесь можно использовать цветовые константы: vbBlack, vbRed и т.д.

LineStyle — позволяет задавать тип линии. Здесь применимо несколько констант. В частности, следующие:

  • xlContinuous — непрерывная линия
  • xlDash — линия, состоящая из черточек
  • xlDashDot — линия с чередующимися точками и черточками
  • xlDot — линия состоящая из точек
  • xlDouble — двойная линия
  • xlLineStyleNone — нет линий

Weight — задает толщину линии при помощи указания одной из констант:

  • xlHairline — самая тонкая линия
  • xlThin — тонкая линия
  • xlMedium — линия средней толщины
  • xlThick — толстая линия

Давайте рассмотрим пример (листинг 15.17.). Выведем набор значений в таблицу, отформатируем ее таким образом, чтобы внешние границы состояли из сплошных черных линий средней толщины, внутренние — из точечных тонких красных линий (рис. 15.3.)

Dim obj_Range As Range
    'Добавляем в книгу новый лист
    'он автоматически становится активным
    Worksheets.Add
    ActiveSheet.Name = "Новая таблица"
    'заполняем небольшую таблицу данными
    For i = 1 To 5
        For j = 1 To 5
            ActiveSheet.Cells(i + 1, j + 1) = _
            Int(Rnd * 100)
        Next j
    Next i
    'Свойство CurrentRegion возвращает
    'заполненную данными область вокруг
    'ячейки, для которой вызывается
    Set obj_Range = ActiveSheet.Cells(i, j).CurrentRegion
    'Настраиваем свойства каждой из границ
    With obj_Range.Borders(xlEdgeLeft)
        .LineStyle = xlDContinuous
        .Color = vbBlack
        .Weight = xlMedium
    End With
    With obj_Range.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Color = vbBlack
        .Weight = xlMedium
    End With
    With obj_Range.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Color = vbBlack
        .Weight = xlMedium
    End With
    With obj_Range.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Color = vbBlack
        .Weight = xlMedium
    End With
    With obj_Range.Borders(xlInsideVertical)
        .LineStyle = xlDot
        .Color = RGB(255, 0, 0)
        .Weight = xlThin
    End With
    With obj_Range.Borders(xlInsideHorizontal)
        .LineStyle = xlDot
        .Color = RGB(255, 0, 0)
        .Weight = xlThin
    End With


Листинг
15.17.
Форматирование границ

Отформатированная таблица в документе

Рис.
15.3.
Отформатированная таблица в документе

Понравилась статья? Поделить с друзьями:
  • Vba word сумма прописью
  • Vba word структура документа
  • Vba word стиль текста
  • Vba word список папок
  • Vba word сохранить как pdf