Excel как определить границы ячейки

Содержание

  1. Применение и удаление границ ячеек на листе
  2. Добавление границы, цвета границы или типа линии границы
  3. Советы
  4. Удаление границы
  5. Дополнительные сведения
  6. Выделение границ таблицы в Excel
  7. Способ 1: Использование стандартных заготовок
  8. Способ 2: Ручное рисование границы
  9. Способ 3: Использование инструмента «Другие границы»
  10. Способ 4: Применение функции «Стили ячеек»

Применение и удаление границ ячеек на листе

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

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

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

На вкладке Главная в группе Шрифт сделайте следующее:

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

Совет: Чтобы применить пользовательский стиль границы или диагональные границы, нажмите кнопку Другие границы. В диалоговом окне Формат ячеек на вкладке Граница в области Линия и цвет выберитенужный стиль и цвет линии. В области Заранее заранеенажмите одну или несколько кнопок, чтобы указать расположение границы. В области Граница две диагональные границ.

Чтобы удалить границы ячеок, щелкните стрелку рядом с кнопкой Границы и выберите пункт Нет границы .

На кнопке Границы отображается последний использованный стиль границы. Чтобы применить этот стиль, нажмите кнопку Границы (а не стрелку).

Если граница применяется к выбранной ячейке, она также применяется к смежным ячейкам, которые имеют границу с границей. Например, при применении границы к диапазону B1:C5 ячейки D1:D5 получают левую границу.

При применении границ двух разных типов к границе общей ячейки отображается самая недавно примененная граница.

Выбранный диапазон ячеек отформатирован как один блок ячеек. Если к диапазону ячеек B1:C5 применить правую границу, граница будет отображаться только справа от ячеек C1:C5.

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

Вы можете выбрать строки на обеих сторонах разрыва страницы.

Щелкните стрелку рядом с кнопкой Границы и выберите другие границы.

В области Заранее заранеенажмите кнопку Внутри .

В областиГраница в схеме предварительного просмотра удалите вертикальную границу, щелкнув ее.

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

Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.

На вкладке Главная в группе Шрифт щелкните стрелку рядом с кнопкой Границы и выберите пункт Нет границы .

Щелкните Главная > стрелку Границы > стеретьграницу , а затем выберите ячейки с границей, которые нужно стереть.

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

На вкладке Главная в группе Стили нажмите кнопку Стили ячеек.

Совет: Если вы не видите кнопку Стили ячеок, щелкните Стили ,а затем нажмите кнопку Дополнительные окне рядом с полем Стили ячеок.

Выберите команду Создать стиль ячейки.

В поле Имя стиля введите соответствующее имя для нового стиля ячейки.

Нажмите кнопку Формат.

На вкладке Граница в области Линияв поле Стиль выберите тип линии, который вы хотите использовать для границы.

В поле Цвет выберите нужный цвет.

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

Нажмите кнопку ОК.

В диалоговом окне Стиль в области Стили (по примеру)сберите флажки для форматирования, которое не нужно включать в стиль ячейки.

Нажмите кнопку ОК.

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

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

На вкладке Главная в группе Стили нажмите кнопку Стили ячеек.

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

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

На вкладке Главная рядом с элементом Границы щелкните стрелку .

Для создания внешних границ выберите пункт Нарисовать границы, для внутренней разметки — пункт Нарисовать линии границы.

Щелкните стрелку рядом с элементом Границы, выберите пункт Цвет линии и укажите нужный цвет.

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

Выделите ячейки, вокруг которых необходимо нарисовать границы.

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

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

2. Щелкните Главная > стрелку Границы и выберите нужный вариант границы.

Добавление цвета границы: щелкните стрелку границы > Цветграницы , а затем выберите цвет

Добавление стиля линии границы: щелкните стрелку Границы > типграницы , а затем выберите тип линии.

Советы

На кнопке Границы отображается последний использованный стиль границы. Чтобы применить этот стиль, нажмите кнопку (не стрелку) Границы.

Если граница применяется к выбранной ячейке, она также применяется к смежным ячейкам, которые имеют границу с границей. Например, при применении границы к диапазону B1:C5 ячейки D1:D5 будут получать левую границу.

При применении границ двух разных типов к границе общей ячейки отображается самая недавно примененная граница.

Выбранный диапазон ячеек отформатирован как один блок ячеек. Если к диапазону ячеек B1:C5 применить правую границу, граница будет отображаться только справа от ячеек C1:C5.

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

Вы можете выбрать строки на обеих сторонах разрыва страницы.

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

Удаление границы

Чтобы удалить границу, выйдите из ячеек с границей и щелкните стрелку Границы > Нет границы.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Источник

Выделение границ таблицы в Excel

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

Способ 1: Использование стандартных заготовок

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

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

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

Способ 2: Ручное рисование границы

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

    Откройте список «Границы», в котором выберите инструмент «Нарисовать границу».

Способ 3: Использование инструмента «Другие границы»

Инструмент под названием «Другие границы» позволит создать линии, не входящие в состав стандартных шаблонов, например, когда требуется перечеркнуть ячейку или добавить необычное оформление.

    В этом случае откройте все то же выпадающее меню «Границы», но выберите последний инструмент «Другие границы».

  • Начните создавать линии в специально отведенном для этого окне. Оно представлено в виде увеличенной ячейки с шаблонной надписью, а нажатие по граням позволяет сразу же добавить или убрать линию.
  • В этой вкладке можно сразу же изменить тип границы и ее цвет, ознакомившись с результатом в окне предпросмотра.
  • Зайдите на вкладку «Заливка», если нужно поменять цвет фона каждой ячейки, входящей в состав таблицы.
  • На следующем скриншоте вы видите вариант того, как нестандартно добавить границы, например, создав эффект перечеркнутой ячейки пунктиром или непрерывной линией.
  • Способ 4: Применение функции «Стили ячеек»

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

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

  • Откроется отдельное окно с примерами оформления ячеек под диапазон данных, названий или числовых форматов. Подберите заготовку и дважды нажмите по ней, чтобы применить.
  • Как только вы закроете окно, сможете посмотреть на результат. Например, на скриншоте ниже показано необычное оформление с двойными границами, которое самостоятельно создать сложно, но при помощи шаблонов это выполнимо в два клика.
  • Если при взаимодействии с этим инструментом перейти к окну «Создать стиль ячейки», можно вручную, путем установки галочек, решить, что будет включать в себя стиль, а затем дать ему название и поместить на главную панель выбора.
  • Источник

    Excel — программа, в которой юзер может создавать, просматривать и редактировать таблицы с базами данных. Ячейки в каждом файле по умолчанию разделены, что помогает организовать хранение информации. Структура документа сделана в виде тонкой серой сетки.

    Работа с границами в Excel

    Для печати документа все контуры нужно настраивать отдельно

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

    Если файл Эксель или его часть используется не в качестве таблицы, либо вы просто хотите убрать серую сетку — это можно настроить несколькими способами. Следует учитывать, что при переносе документа на бумагу (печати) её необходимо настраивать отдельно.

    Как сделать разделение в Excel

    Границы в программе могут быть добавлены к верхней, нижней, правой и левой части ячейки. Кроме того, они могут иметь орнамент и цвет на выбор. Это позволяет вам более тонко настраивать её отображение при создании нужной таблицы. Так, можно настроить разделение для одного или нескольких объектов. Например, можно отделить в файле целую строку, столбец или сектор, либо разлиновать всю таблицу.

    Существует 2 способа создания разделения в файле Эксель:

    1. Через меню «Границы» во вкладке «Главная»;
    2. Кликнув на «Другие границы» в этом же меню.

    Оба варианта имеют свои особенности и преимущества, но любой из них позволит создать и изменить разделение.

    Создание контура через кнопку «Границы»

    Этот вариант — самый простой из всех, но и предоставляет он меньше всего возможностей. Выделите определённое количество ячеек, к которым хотите применить настройки, после чего:

    1. Нажмите на кнопку «Границы», которая расположена снизу от выбора шрифта (её внешний вид зависит от последней использованной функции, но по умолчанию это «нижняя граница»);
    2. Укажите необходимую команду, после чего разметка будет применена;
    3. Сохраните прогресс.

    Настройка с помощью инструмента «Границы»

    Создание разметки через «Другие границы»

    Некоторые функции не поместились в выпадающее меню «Границы», поэтому они находятся в расширенном. Выделите необходимые ячейки, а далее:

    1. Откройте меню «Границы»;
    2. Кликните на «Другие границы» внизу выпадающего окошка — откроется вкладка, в которой вы сможете самостоятельно нарисовать контур любой сложности, какой позволяет программа;
    3. Сделайте шаблон, нажмите «ОК»;
    4. Сохраните прогресс.

    Расширенные параметры контуров

    Вкладка «Границы» позволяет сделать разметку более сложной. Вам доступны 13 видов контура и все цвета спектра, а также возможность нарисовать внешние и внутренние линии объекта (в том числе диагональные).

    Как нарисовать разметку

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

    1. Указать элемент, либо определённое количество групп;
    2. В выпадающем меню «Границы» кликнуть на последнюю вкладку;
    3. Откроется окно «Формат ячеек» со вкладкой «Границы» — выберите тип линии, её цвет, расположение относительно элемента;
      Самостоятельное рисование границ
    4. Укажите контур, нажимая на кнопки с соответствующими изображениями, либо на саму модель элемента;
    5. Если в базовой палитре нет подходящего цвета, откройте «Другие цвета» (переход во вкладку «Спектр» в новом окошке позволит сделать настройку ещё более точно);
      Палитра цветов для контура
    6. Если вам не нужны линии, выберите «Нет» в окне «Формат ячеек»;
    7. Нажмите «ОК» и сохраните прогресс.

    Как сохранить разметку при печати

    По умолчанию, как серые, базовые линии на поверхности листа Excel, так и любые другие, не печатаются при выводе на бумагу через принтер. Это можно заметить, нажав «Печать» — «Предварительный просмотр». Для того чтобы включить контур в будущий документ, необходимо указать определённое количество листов и применить соответствующую функцию. Варианты выделения:

    • Отдельный лист — просто щёлкните на него. Если он не виден в списке, сначала прокрутите с помощью кнопки.
    • Два или несколько листов, идущих рядом — кликните на ярлык крайнего в диапазоне (слева или справа), после чего, зажав Shift, нажмите на противоположный ему (с другой стороны множества).
    • Два и более несмежных — кликните на ярлык первого листа. Затем, удерживая Ctrl, нажмите на остальные, которые нужно включить в диапазон.
    • Все страницы в файле Эксель — кликните на ярлык любого правой клавишей мыши, после чего в меню выберите «Выделить все листы».

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

    Выделение листов для печати

    Дальнейшие действия для печати:

    1. На вкладке «Разметка страницы» в «Параметры страницы» выберите пункт «Печать» в области «Сетка»;
    2. Откройте «Файл», нажмите «Печать» (или Ctrl + «P»);
    3. В окне с параметрами печати нажмите «ОК».

    Включение сетки при печати

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

    Как скрыть и показать разметку в Эксель

    Сетка в Excel отображается по умолчанию. Иногда она не нужна на листе или в книге — в случае, когда вы работаете с различными объектами (например, изображениями). Кроме того, «чистая» страница без контура выглядит аккуратнее.

    В то же время, в некоторых файлах Эксель разметка отсутствует, но необходима. Это бывает в случае сбоя, или если вы работаете с документом, который составлял и настраивал другой юзер.

    Скрыть или показать с помощью функций Excel

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

    Первый вариант:

    1. Откройте вкладку «Разметка страницы» и найдите область «Сетка»;
    2. Установите параметр «Показать» — это включит отображение базовых линий;
    3. Сохраните прогресс;
    4. Если вам нужно убрать контур, который отображается, снимите галочку с «Показать».

    Скрытие сетки в документе

    Второй, более функциональный вариант:

    1. Выделите листы, на которых необходимо включить отображение (если нужно указать несколько несмежных — кликните на них, зажав Ctrl, а если смежных — кликните на крайний с одной из сторон, затем, удерживая Shift, на противоположный);
    2. Откройте вкладку «Вид», после чего поставьте галочку напротив «Сетка» в области «Показать»;
    3. Сохраните прогресс;
    4. Если нужно наоборот, убрать её, снимите галочку напротив «Сетка».

    Функционал вкладки «Вид»

    Скрыть или отобразить с помощью смены цвета заливки

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

    1. Выделить определённое количество объектов;
    2. Перейдите во вкладку «Главная», после чего в области «Шрифт» найдите функцию «Цвет заливки» и выберите белый, затем кликните по нему;
    3. Сохраните прогресс.

    Установка белого цвета заливки

    Скрыть или отобразить разметку с помощью настройки её цвета

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

    1. Выделить определённое количество объектов документа, где нужно скрыть или восстановить линии;
    2. Нажмите по ним правой кнопкой мыши, после чего откроется контекстное меню — кликните на «Формат ячеек»;
    3. Откройте вкладку «Граница»;
    4. Выберите белый цвет и нажмите «Внешние» и «Внутренние» во «Все»;
    5. Нажмите «ОК», чтобы увидеть прогресс, затем сохраните его.

    Выбор цвета для отдельных границ

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

    В некоторых случаях необходимо убрать или восстановить не всю сетку на странице Excel, а только у некоторых объектов. Это можно настроить, вручную выбирая количество объектов:

    • Одна ячейка — кликните по ней левой клавишей мыши;
    • Несколько смежных — кликните по одной, в начале диапазона, а затем, удерживая Shift, нажмите на противоположную;
    • Несколько несмежных — кликните по любой, после чего, зажав Ctrl, добавляйте во множество элементы левой клавишей мыши;
    • Несколько смежных листов — кликните на крайний снизу в соответствующем меню, после чего, удерживая Shift, выберите противоположный;
    • Несколько несмежных листов — кликните на произвольную страницу, затем, зажав Ctrl, добавьте во множество остальные, нажимая правую кнопку мыши.

    Выделение нужных ячеек и листов

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

    Итог

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

    Добрый день!
    Подскажите, пожалуйста, как можно определить границы объединенной ячейки в таблице Excel?
    Вот вырезка из кода

    Код:

    // Создаем новое приложение excel и загружаем в него выбранный файл xls
    ExcelApp = new Excel.Application();
    ExcelAppWorkBook = ExcelApp.Workbooks.Open(textBoxFile.Text, 0, false, 5, «», «», true, Excel.XlPlatform.xlWindows,
                            «t«, false, false, 0, true, true, false);

    // Выбираем первый лист книги
    ExcelWorkSheet = (Excel.Worksheet)ExcelAppWorkBook.Worksheets.get_Item(1);

                        // Определяем размеры таблицы

                       
    int Row = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row; //макс строка
    int Col = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Column; //макс столбик

    // Здесь, как вариант, щупаем каждую ячейку, потому что нам еще и значения нужны
    for (i = 1; i <= Row; i++)
    {
         for (y = 1; y <= Col; y++)
         {
                ExcelCells = ((Excel.Range)ExcelWorkSheet.Cells[i, y]);

                ……
                //Вот здесь и нужна функция определения, является ли ячейка объединенной и какие у нее границы, если да
                …….

          }
    }

    9 ответов

    1

    14 сентября 2010 года

    kot_

    7.3K / / 20.01.2000

    Добрый день!
    Подскажите, пожалуйста, как можно определить границы объединенной ячейки в таблице Excel?
    Вот вырезка из кода

    Код:

    // Создаем новое приложение excel и загружаем в него выбранный файл xls
    ExcelApp = new Excel.Application();
    ExcelAppWorkBook = ExcelApp.Workbooks.Open(textBoxFile.Text, 0, false, 5, «», «», true, Excel.XlPlatform.xlWindows,
                            «t«, false, false, 0, true, true, false);

    // Выбираем первый лист книги
    ExcelWorkSheet = (Excel.Worksheet)ExcelAppWorkBook.Worksheets.get_Item(1);

                        // Определяем размеры таблицы

                       
    int Row = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row; //макс строка
    int Col = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Column; //макс столбик

    // Здесь, как вариант, щупаем каждую ячейку, потому что нам еще и значения нужны
    for (i = 1; i <= Row; i++)
    {
         for (y = 1; y <= Col; y++)
         {
                ExcelCells = ((Excel.Range)ExcelWorkSheet.Cells[i, y]);

                ……
                //Вот здесь и нужна функция определения, является ли ячейка объединенной и какие у нее границы, если да
                …….

          }
    }

    Код:

    if(ExcelCells.MergeCells){
      …
    }
    else{
     …
    }

    http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.namedrange.mergecells%28VS.80%29.aspx

    63K

    14 сентября 2010 года

    Makseg

    6 / / 14.09.2010

    Спасибо за ответ. я пробовал так делать, но компилятор ругается на ExcelCells.MergeCells

    «Не удается неявно преобразовать тип «object» в «bool». Существует явное преобразование (возможно, пропущено приведение типов)»

    Сделал явное преобразование в bool

    Код:

    if((bool)ExcelCells.MergeCells)
    {

    }
    else
    {
    ….
    }

    и все заработало. спасибо большое.
    Причем пробовал раньше так делать, как вы написали, но преобразовать явно в bool, почему-то не додумался.
    Нашел как ее границы определить по ссылке

    Код:

    string afterMergeAddress = ExcelCells.MergeArea.get_Address(
            Type.Missing, Type.Missing, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);

        MessageBox.Show(«After merging, the MergeArea property is ‘» +
            afterMergeAddress + «‘ and the MergeCells property is « +
            » ‘» + ExcelCells.MergeCells.ToString() + «‘.»);

    63K

    14 сентября 2010 года

    Makseg

    6 / / 14.09.2010

    Хочу еще уточнить.
    Например, я получил границы ячейки в виде строки «$A$1:$A$2» а как мне отсюда в разные переменные записать начальную точку [1,1] и конечную [1,2]? Неужели регулярными выражениями обрабатывать строку?

    1

    14 сентября 2010 года

    kot_

    7.3K / / 20.01.2000

    На самом деле использовать приведение типов в С-стиле — это не очень хорошая идея. ИМХО лучше использовать чтото типа такого (это пример, название конкретного метода смотрите сами):

    Код:

    if(ExcelCells.MergeCells.ToBoolean)

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

    63K

    14 сентября 2010 года

    Makseg

    6 / / 14.09.2010

    На самом деле использовать приведение типов в С-стиле — это не очень хорошая идея. ИМХО лучше использовать чтото типа такого (это пример, название конкретного метода смотрите сами):

    Код:

    if(ExcelCells.MergeCells.ToBoolean)

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

    Спасибо за пример приведения типов.
    По второму вопросу.
    Дело в том, что мне и не надо определять, что в одну ячейку что в другую. Таблица берется из экселевского файлика, где могут быть объединенные ячейки и, в данном случае, мне просто надо определить границы ячеек в виде [1,1] — начальная координата, [1,2] — конечная (если объединенная ячейка имеет границы «А1:А2»). Значение же, которое соответствует данной области хранится в ячейке [1,1]

    1

    14 сентября 2010 года

    kot_

    7.3K / / 20.01.2000

    поробуйте использовать свойство NamedRange.Colums — по идее должно вернуть количество столбцов, которое занимает ячейка (и соотвественно Rows).

    1

    14 сентября 2010 года

    kot_

    7.3K / / 20.01.2000

    ну и кроме того, кроме get_Address есть еще и get_End.
    Я не думаю что регулярка — это лучшее решение.

    63K

    14 сентября 2010 года

    Makseg

    6 / / 14.09.2010

    Спасибо. буду копаться

    63K

    15 сентября 2010 года

    Makseg

    6 / / 14.09.2010

    Подсказали, как лучше сделать для определения границ объединенной ячейки. проще, чем я думал. вся задача получается так

    Код:

    // Создаем новое приложение excel и загружаем в него выбранный файл xls
    ExcelApp = new Excel.Application();
    ExcelAppWorkBook = ExcelApp.Workbooks.Open(textBoxFile.Text, 0, false, 5, «», «», true, Excel.XlPlatform.xlWindows,
                            «t«, false, false, 0, true, true, false);

    // Выбираем первый лист книги
    ExcelWorkSheet = (Excel.Worksheet)ExcelAppWorkBook.Worksheets.get_Item(1);

                         // Определяем размеры таблицы

                         
    int Row = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row; //макс строка
    int Col = ExcelWorkSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Column; //макс столбик

    // Здесь, как вариант, щупаем каждую ячейку, потому что нам еще и значения нужны
    for (i = 1; i <= Row; i++)
    {
         for (y = 1; y <= Col; y++)
         {
               ExcelCells = ((Excel.Range)ExcelWorkSheet.Cells[i, y]); // получаем координаты ячейки

                // проверяем объединенная ли ячейка
                if((bool)ExcelCells.MergeCells)
                {
                        CellBeginY = ExcelCells.MergeArea.Row; // индекс строки крайней первой ячеки области
                        CellBeginX = ExcelCells.MergeArea.Column; // индекс столбца
                        // индекс строки крайней последней ячейки области
                        CellEndY = ExcelCells.MergeArea.Row + ExcelCells.MergeArea.Rows.Count 1;
                        // индекс столбца
                        CellEndX = ExcelCells.MergeArea.Column + ExcelCells.MergeArea.Columns.Count 1;

                 }

          }
    }

    Перейти к содержанию

    На чтение 2 мин Опубликовано 10.01.2015

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

    Содержание

    1. Границы ячеек и цвета заливки в Excel
    2. Добавляем границы
    3. Добавляем цвет заливки в Excel
    4. Стили ячеек в Excel
    5. Как применять стили в Excel

    Границы ячеек и цвета заливки в Excel

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

    Добавляем границы

    1. Выделите ячейки, к которым необходимо добавить границы.Границы ячеек в Excel
    2. На вкладке Главная нажмите на стрелку рядом с командой Границы. Появится выпадающее меню с различными типами границ.
    3. Выберите необходимый тип. В нашем примере мы выберем Все границы.Границы ячеек в Excel
    4. Границы отобразятся в соответствии с выбранным типом.Границы ячеек в Excel

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

    Границы ячеек в Excel

    Добавляем цвет заливки в Excel

    1. Выделите ячейки, к которым необходимо добавить заливку.Цвет заливки в Excel
    2. На вкладке Главная нажмите на стрелку рядом с командой Цвет заливки. Появится меню с цветовой палитрой.
    3. Выберите необходимый цвет заливки. При наведении курсора на различные варианты цвета можно увидеть, как меняется фон выделенных ячеек. Для нашего примера мы выберем светло-зеленый цвет.Цвет заливки в Excel
    4. Выбранный цвет заливки появится в выделенных ячейках.Цвет заливки в Excel

    Стили ячеек в Excel

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

    Как применять стили в Excel

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

    1. Выделите ячейки, которые необходимо изменить.Стили ячеек в Excel
    2. На вкладке Главная нажмите команду Стили ячеек, а затем в раскрывающемся меню выберите подходящий стиль. В нашем примере, мы выберем Акцент1.Стили ячеек в Excel
    3. Выбранный стиль будет применен к ячейкам.Стили ячеек в Excel

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

    Оцените качество статьи. Нам важно ваше мнение:

     

    Доброго всем утра!!!  

      Вручную в Екселе была нарисована таблица.  

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

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

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    a=Selection.Borders.LineStyle  
    b=Selection.Borders.ColorIndex

    Я сам — дурнее всякого примера! …

     

    Доброе утро, Сергей!  
    А как это вставить в макрос и применить?  

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

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    Привет, Влад. Без макросов:

    Я сам — дурнее всякого примера! …

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    Макросом, в модуль листа, по двойному клику:  
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  
       Dim a&, b&  
       a = Target.Borders.LineStyle  
       b = Target.Borders.ColorIndex  
       MsgBox «Стиль линии » & a & «,цвет линии » & b  
       Cancel = True  
    End Sub

    Я сам — дурнее всякого примера! …

     

    Спасибо, это-то я знаю.  
    Но когда, например, только правая граница ячейки серым оттенком,  
    то как определить каким?    

      В примере правая граница ячейки нарисована. Она то ли серая, то ли пунктиром, если серая, то насколько (20%, 40%, 60%, 80% чёрного).  
    Как определить?

     

    Спасибо, Сергей! Полезный макрос.  
    Но он показывает окно формат автофигуры для нарисованной линии.  

      А я говорю о том, когда чертишь линии по границам ячеек (кнопка «Нарисовать границу» на панели инструментов «Граница»).  
    Там можно цвет и тип линии выбирать. Но как узнать это у уже нарисованной границы?  

      Вкладка «Границы» в окне «Формат ячеек» показывает цвет и тип границ, заданных форматом, а не нарисованных.

     

    kim

    Пользователь

    Сообщений: 3139
    Регистрация: 23.12.2012

    Игорь

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

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    {quote}{login=Vlad}{date=19.12.2010 11:23}{thema=}{post}Спасибо, это-то я знаю.  
    Но когда, например, только правая граница ячейки серым оттенком,  
    то как определить каким?    

      В примере правая граница ячейки нарисована. Она то ли серая, то ли пунктиром, если серая, то насколько (20%, 40%, 60%, 80% чёрного).  
    Как определить?{/post}{/quote}  
    b=Selection.Borders(xlEdgeRight).ColorIndex  
    Дальше по аналогии.  
    «Спасибо, Сергей! Полезный макрос.  
    Но он показывает окно формат автофигуры для нарисованной линии.» — вот тут совсем ничего не понял. При чем тут автофигуры?

    Я сам — дурнее всякого примера! …

     

    Сергей, извини, неточно выразился, не Автофигура, а Линия с панели Рисование.  

      А kim натолкнул на интересную мысль.  
    Поэкспериментировав, понял, что в окне «Формат ячеек» на вкладке «Граница» всегда показывается цвет и тип только ЛЕВОЙ ВЕРТИКАЛЬНОЙ границы ячейки.  

      А если надо узнать тип и цвет вертикальной границы?

     

    Последний вопрос читать:  

      А если надо узнать тип и цвет горизонтальной границы?

     

    Юрий М

    Модератор

    Сообщений: 60570
    Регистрация: 14.09.2012

    Контакты см. в профиле

    Во :-)  
    Sub Borders_Info()  
    MsgBox «Верхняя граница:» & Chr(10) _  
    & vbTab & «Тип линии: » & vbTab & ActiveCell.Borders(xlEdgeTop).LineStyle & Chr(10) _  
    & vbTab & «Цвет: » & vbTab & vbTab & ActiveCell.Borders(xlEdgeTop).ColorIndex & Chr(10) _  
    & vbTab & «Толщина: » & vbTab & ActiveCell.Borders(xlEdgeTop).Weight _  
    & Chr(10) & «Правая граница:» & Chr(10) _  
    & vbTab & «Тип линии: » & vbTab & ActiveCell.Borders(xlEdgeRight).LineStyle & Chr(10) _  
    & vbTab & «Цвет: » & vbTab & vbTab & ActiveCell.Borders(xlEdgeRight).ColorIndex & Chr(10) _  
    & vbTab & «Толщина: » & vbTab & ActiveCell.Borders(xlEdgeRight).Weight _  
    & Chr(10) & «Нижняя граница:» & Chr(10) _  
    & vbTab & «Тип линии: » & vbTab & ActiveCell.Borders(xlEdgeBottom).LineStyle & Chr(10) _  
    & vbTab & «Цвет: » & vbTab & vbTab & ActiveCell.Borders(xlEdgeBottom).ColorIndex & Chr(10) _  
    & vbTab & «Толщина: » & vbTab & ActiveCell.Borders(xlEdgeBottom).Weight _  
    & Chr(10) & «Левая граница:» & Chr(10) _  
    & vbTab & «Тип линии: » & vbTab & ActiveCell.Borders(xlEdgeLeft).LineStyle & Chr(10) _  
    & vbTab & «Цвет: » & vbTab & vbTab & ActiveCell.Borders(xlEdgeLeft).ColorIndex & Chr(10) _  
    & vbTab & «Толщина: » & vbTab & ActiveCell.Borders(xlEdgeLeft).Weight  

      End Sub  
    =====  
    11117

     
     

    Юрий М

    Модератор

    Сообщений: 60570
    Регистрация: 14.09.2012

    Контакты см. в профиле

    Если нужно справа добавить аналогичную — зачем узнавать? Копируем формат.

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    Константы:  
    xlEdgetop — 8  
    xlEdgeBottom — 9  
    xlEdgeRight — 10  
    xlEdgeLeft — 7  
    Т.е. можно в цикле проверить цвет и тип всех границ ячейки.

    Я сам — дурнее всякого примера! …

     

    Спасибо, Юрий!  
    Формат копировать нельзя, т.к. в ячейках разные форматы шрифта, заливки и т.д. (только формат границ и совпадает).  
    А формат ведь скопируется весь.  

      Классный у Вас макрос! Но Тип границы показывает только 1 (есть) или -4142 (нет).  
    Да и цвет 16 или 48 или 25 как применить для продолжения линии?  

      Сергей, а как эти константы применить?

     

    Юрий М

    Модератор

    Сообщений: 60570
    Регистрация: 14.09.2012

    Контакты см. в профиле

    {quote}{login=Vlad}{date=19.12.2010 12:28}{thema=}{post}Классный у Вас макрос! Но Тип границы показывает только 1 (есть) или -4142 (нет).{/post}{/quote}  
    У меня всё нормально показывает. И не забывайте, что у соседних ячеек могут быть разные границы.

     

    Да, спасибо, показывает разные цифры для разных цветов и типов границ ячеек.  

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

     

    KuklP

    Пользователь

    Сообщений: 14868
    Регистрация: 21.12.2012

    E-mail и реквизиты в профиле.

    Ой, Влад, не пойму чего ты хочешь. Выдели таблицу и выполни это:  
    Public Sub www()  
       With Selection.Borders(xlInsideHorizontal)  
           .LineStyle = xlContinuous  
           .Weight = xlThin  
           .ColorIndex = xlAutomatic  
       End With  
       With Selection.Borders(xlInsideVertical)  
           .LineStyle = xlContinuous  
           .Weight = xlThin  
           .ColorIndex = xlAutomatic  
       End With  
    End Sub  

      ColorIndex подставь нужный тебе. Кстати мой макрос ты впинхул в общий модуль, а надо в модуль листа.  

      31221

    Я сам — дурнее всякого примера! …

     

    Юрий М

    Модератор

    Сообщений: 60570
    Регистрация: 14.09.2012

    Контакты см. в профиле

    {quote}{login=Vlad}{date=19.12.2010 12:43}{thema=}{post}как их применить для решения моей задачи — сделать такие же горизонтальные границы у ячеек справа, т.е. продлить горизонтальные границы таблицы?{/post}{/quote}  
    Сказать макросу: сделай границы, как у ячейки слева:    
    With cells(3,7).Borders(xlEdgeRight)  
           .LineStyle = cells(3,6).Borders(xlEdgeRight).LineStyle    
           .Weight = …  
           .ColorIndex = …  
    End With  
    Или сначала считать с «левой» ячейки эти значения в переменную, а потом «правой» присвоить эти значения.

     

    openid.mail.ru/mail/vlad3622340

    Пользователь

    Сообщений: 1125
    Регистрация: 23.12.2012

    #21

    19.12.2010 12:59:38

    Спасибо, Сергей и Юрий!  
    Узнал много нового и полезного благодаря вашим ответам.  
    Буду причёсывать и применять.

    Понравилась статья? Поделить с друзьями:
  • Excel как округлить число до сотен
  • Excel как округлить секунды до минут
  • Excel как округлить до определенного числа
  • Excel как округлить до нуля
  • Excel как округлить до круглого числа