Excel — программа, в которой юзер может создавать, просматривать и редактировать таблицы с базами данных. Ячейки в каждом файле по умолчанию разделены, что помогает организовать хранение информации. Структура документа сделана в виде тонкой серой сетки.
Для печати документа все контуры нужно настраивать отдельно
Тем не менее, установка по умолчанию не всегда удобна. В Эксель вы можете настроить ячейки самостоятельно — указать из базовых вариантов, либо нарисовать свои, с произвольной формой, одним из множества контуров и цветов.
Если файл Эксель или его часть используется не в качестве таблицы, либо вы просто хотите убрать серую сетку — это можно настроить несколькими способами. Следует учитывать, что при переносе документа на бумагу (печати) её необходимо настраивать отдельно.
Как сделать разделение в Excel
Границы в программе могут быть добавлены к верхней, нижней, правой и левой части ячейки. Кроме того, они могут иметь орнамент и цвет на выбор.
Это позволяет вам более тонко настраивать её отображение при создании нужной таблицы. Так, можно настроить разделение для одного или нескольких объектов.
Например, можно отделить в файле целую строку, столбец или сектор, либо разлиновать всю таблицу.
Существует 2 способа создания разделения в файле Эксель:
- Через меню «Границы» во вкладке «Главная»;
- Кликнув на «Другие границы» в этом же меню.
Оба варианта имеют свои особенности и преимущества, но любой из них позволит создать и изменить разделение.
Создание контура через кнопку «Границы»
Этот вариант — самый простой из всех, но и предоставляет он меньше всего возможностей. Выделите определённое количество ячеек, к которым хотите применить настройки, после чего:
- Нажмите на кнопку «Границы», которая расположена снизу от выбора шрифта (её внешний вид зависит от последней использованной функции, но по умолчанию это «нижняя граница»);
- Укажите необходимую команду, после чего разметка будет применена;
- Сохраните прогресс.
Создание разметки через «Другие границы»
Некоторые функции не поместились в выпадающее меню «Границы», поэтому они находятся в расширенном. Выделите необходимые ячейки, а далее:
- Откройте меню «Границы»;
- Кликните на «Другие границы» внизу выпадающего окошка — откроется вкладка, в которой вы сможете самостоятельно нарисовать контур любой сложности, какой позволяет программа;
- Сделайте шаблон, нажмите «ОК»;
- Сохраните прогресс.
Вкладка «Границы» позволяет сделать разметку более сложной. Вам доступны 13 видов контура и все цвета спектра, а также возможность нарисовать внешние и внутренние линии объекта (в том числе диагональные).
Как нарисовать разметку
Для того чтобы создать собственный контур, нужно:
- Указать элемент, либо определённое количество групп;
- В выпадающем меню «Границы» кликнуть на последнюю вкладку;
- Откроется окно «Формат ячеек» со вкладкой «Границы» — выберите тип линии, её цвет, расположение относительно элемента;
- Укажите контур, нажимая на кнопки с соответствующими изображениями, либо на саму модель элемента;
- Если в базовой палитре нет подходящего цвета, откройте «Другие цвета» (переход во вкладку «Спектр» в новом окошке позволит сделать настройку ещё более точно);
- Если вам не нужны линии, выберите «Нет» в окне «Формат ячеек»;
- Нажмите «ОК» и сохраните прогресс.
Как сохранить разметку при печати
По умолчанию, как серые, базовые линии на поверхности листа Excel, так и любые другие, не печатаются при выводе на бумагу через принтер. Это можно заметить, нажав «Печать» — «Предварительный просмотр». Для того чтобы включить контур в будущий документ, необходимо указать определённое количество листов и применить соответствующую функцию. Варианты выделения:
- Отдельный лист — просто щёлкните на него. Если он не виден в списке, сначала прокрутите с помощью кнопки.
- Два или несколько листов, идущих рядом — кликните на ярлык крайнего в диапазоне (слева или справа), после чего, зажав Shift, нажмите на противоположный ему (с другой стороны множества).
- Два и более несмежных — кликните на ярлык первого листа. Затем, удерживая Ctrl, нажмите на остальные, которые нужно включить в диапазон.
- Все страницы в файле Эксель — кликните на ярлык любого правой клавишей мыши, после чего в меню выберите «Выделить все листы».
Выбранные страницы отображаются в качестве группы. Для того, чтобы разъединить их, нажмите на любой из невыделенных, либо кликните по любому правой клавишей мыши, а затем выберите «Разгруппировать листы».
Дальнейшие действия для печати:
- На вкладке «Разметка страницы» в «Параметры страницы» выберите пункт «Печать» в области «Сетка»;
- Откройте «Файл», нажмите «Печать» (или Ctrl + «P»);
- В окне с параметрами печати нажмите «ОК».
Если вы не можете выбрать пункт в области «Сетка», значит, выбран график или элемент в таблице. Для того чтобы функции стали доступны, необходимо снять это выделение. Если при печати контур вам не нужен, соответственно, снимите галочку с пункта «Печать» в «Сетка».
Как скрыть и показать разметку в Эксель
Сетка в Excel отображается по умолчанию. Иногда она не нужна на листе или в книге — в случае, когда вы работаете с различными объектами (например, изображениями). Кроме того, «чистая» страница без контура выглядит аккуратнее.
В то же время, в некоторых файлах Эксель разметка отсутствует, но необходима. Это бывает в случае сбоя, или если вы работаете с документом, который составлял и настраивал другой юзер.
Скрыть или показать с помощью функций Excel
Если вам нужно сделать линии видимыми, можно воспользоваться одним из двух способов — первый настроит всю книгу Эксель, а другой позволит указать это выборочно.
Первый вариант:
- Откройте вкладку «Разметка страницы» и найдите область «Сетка»;
- Установите параметр «Показать» — это включит отображение базовых линий;
- Сохраните прогресс;
- Если вам нужно убрать контур, который отображается, снимите галочку с «Показать».
Второй, более функциональный вариант:
- Выделите листы, на которых необходимо включить отображение (если нужно указать несколько несмежных — кликните на них, зажав Ctrl, а если смежных — кликните на крайний с одной из сторон, затем, удерживая Shift, на противоположный);
- Откройте вкладку «Вид», после чего поставьте галочку напротив «Сетка» в области «Показать»;
- Сохраните прогресс;
- Если нужно наоборот, убрать её, снимите галочку напротив «Сетка».
Скрыть или отобразить с помощью смены цвета заливки
Другой способ убрать разметку — установить белый цвет заливки. Excel скрывает серую сетку, если объект заполнен любым цветом, но белый — нейтральный, стандартный для страницы. В свою очередь, если нужно показать контур, установите параметр «Нет заливки». Для этого необходимо:
- Выделить определённое количество объектов;
- Перейдите во вкладку «Главная», после чего в области «Шрифт» найдите функцию «Цвет заливки» и выберите белый, затем кликните по нему;
- Сохраните прогресс.
Скрыть или отобразить разметку с помощью настройки её цвета
Третий способ скрыть или восстановить базовую разметку в произвольном количестве ячеек Эксель. Чтобы воспользоваться им, нужно:
- Выделить определённое количество объектов документа, где нужно скрыть или восстановить линии;
- Нажмите по ним правой кнопкой мыши, после чего откроется контекстное меню — кликните на «Формат ячеек»;
- Откройте вкладку «Граница»;
- Выберите белый цвет и нажмите «Внешние» и «Внутренние» во «Все»;
- Нажмите «ОК», чтобы увидеть прогресс, затем сохраните его.
Как скрыть или отобразить линии выборочных объектов
В некоторых случаях необходимо убрать или восстановить не всю сетку на странице Excel, а только у некоторых объектов. Это можно настроить, вручную выбирая количество объектов:
- Одна ячейка — кликните по ней левой клавишей мыши;
- Несколько смежных — кликните по одной, в начале диапазона, а затем, удерживая Shift, нажмите на противоположную;
- Несколько несмежных — кликните по любой, после чего, зажав Ctrl, добавляйте во множество элементы левой клавишей мыши;
- Несколько смежных листов — кликните на крайний снизу в соответствующем меню, после чего, удерживая Shift, выберите противоположный;
- Несколько несмежных листов — кликните на произвольную страницу, затем, зажав Ctrl, добавьте во множество остальные, нажимая правую кнопку мыши.
После того как вы указали необходимое количество объектов, скройте или покажите их линии. Это можно сделать любым из описанных вариантов — настройкой цвета заливки либо самого контура.
Итог
Сетка на странице Эксель — серая разметка, которая разделяет ячейки. Её можно скрыть и восстановить несколькими способами, если это необходимо. Все они простые и доступны даже новичку.
Источник: https://nastroyvse.ru/programs/review/granicy-v-redaktore-excel.html
Полоса прокрутки — элемент управления формы в MS EXCEL
Элемент Полоса прокрутки позволяет изменять значения в определенном диапазоне с шагом (1, 2, 3, …), если нажимать на кнопки со стрелочками, и с увеличенным шагом, если нажимать на саму полосу в стороне от бегунка. Этот элемент имеет много общего со Счетчиком.
Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.
- В MS EXCEL 2007 это можно сделать через меню .
- В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл; Нажмите кнопку Параметры; Нажмите кнопку Настроить ленту; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик.
Теперь вставить элемент управления можно через меню: .
Обратите внимание, что в этом меню можно также вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.
Полоса прокрутки (Scroll Bar) как, впрочем и все другие Элементы управления формы, возвращает только 1 числовое значение. См. файл примера.
Обзорную статью обо всех элементах управления формы можно прочитать здесь.
Вставка Полосы прокрутки
Через меню выберем левой клавишей мыши элемент Полоса прокрутки.
- После этого выпадающее меню закроется, а курсор вместо обычного толстого крестика
- превратится в тонкий крестик.
- Кликнув левой клавишей мыши в нужное место на листе, элемент Полоса прокрутки будет помещен на лист (вертикально).
Чтобы при вставке элемента поместить Полосу прокрутки горизонтально, кликните и удерживайте левую клавишу мыши, затем переместите мышь вправо и чуть вниз.
Выделение Полосы прокрутки
После вставки Полосы прокрутки она становится выделенной. Если кликнуть в любом другом месте листа, то Полоса прокрутки перестанет быть выделенной.
Чтобы снова ее выделить нужно кликнуть ее ПРАВОЙ клавишей мыши (клик ЛЕВОЙ клавиши увеличивает или уменьшает значение в связанной ячейке (см. ниже)).
После клика правой кнопкой также появляется контекстное меню, чтобы его убрать можно нажать ESC или кликнуть левой клавишей по Полосе прокрутки.
Перемещение Полосы прокрутки и изменение ее размеров
Если навести курсор на выделенную Полосу прокрутки (курсор примет форму 4-х направленных в разные стороны стрелок), затем нажать и удерживать левую кнопку мыши, то можно переместить Полосу прокрутки. Удерживая клавишу ALT можно выровнять Полосу прокрутки по границам ячеек. Выделенную Полосу прокрутки также можно перемещать стрелками с клавиатуры.
Если навести курсор на углы прямоугольника или на маленькие квадратики на границе, то можно изменить ее размер.
Связываем Полосу прокрутки с ячейкой
Как было сказано выше, все Элементы управления формы возвращают значение. Это значение помещается в ячейку определенную пользователем.
Чтобы связать Элемент управления с ячейкой, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта…
Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).
В поле Связь с ячейкой нужно ввести ссылку на ячейку. Свяжем наш Полосу прокрутки с ячейкой А1.
Также установим минимальное значение =1, максимальное =101, шаг изменения =2, шаг изменения по страницам =10.
Нажмите ОК.
Убедитесь, что Полоса прокрутки не выделена. Пощелкайте левой клавишей мыши по кнопкам Полосы прокрутки. В ячейке А1 значение будет увеличиваться/ уменьшаться в указанном диапазоне, причем с шагом 2 (1, 3, 5, …), т.е. в ячейку будут вводиться только нечетные числа. При щелчке по полосе прокрутки, значения будут уменьшаться/ увеличиваться с шагом 10.
Существует и другой способ связать Элемент управления и ячейку: Выделите правой клавишей мыши Элемент управления, в Строке формул введите =, затем кликните левой клавишей мыши на нужную ячейку, нажмите клавишу ENTER. Чтобы изменить ячейку, с которой связан Элемент управления, достаточно перетащить эту ячейку, взяв за ее границу, в нужное место.
Одну ячейку можно связать с несколькими элементами управления, но имеет ли это смысл? Решать Вам.
Примечание. Можно принудительно ввести в ячейку текстовое значение, но оно будет заменено при следующем нажатии Полосы прокрутки. Проведем эксперимент. Пусть в ячейке А1 введено число 5.
Даже если Вы введете в ячейку А1 текст «строка», то при следующем нажатии Полосы прокрутки, в ячейке появится число 7 (если шаг =2), т.е.
Полоса прокрутки хранит текущее значение не в ячейке, а где-то в себе.
Если, в нашем примере, Вы введете четное значение, то Полоса прокрутки не сбросит его, а будет прибавлять 2 и Вы получите четную последовательность 2, 4, 6, … Но, при достижении верхней границы его поведение изменится 96, 98, 100, 101, т.к. максимальное значение установлено нами =101.
Теперь при движении вниз Полоса прокрутки будет воспроизводить последовательность нечетных чисел! Тоже справедливо и для нижней границы: 6, 4, 2, 1, т.к. минимальное значение установлено =1.
Поэтому, следите, чтобы граничные значения (при шаге отличным от 1), содержались в требуемой последовательности, иначе при движении вверх и вниз Вы можете получить разные последовательности. Например, для последовательности 1, 4, 7, 10 (шаг 3) правильно установить границы 1 и 10.
Если Вы установите границы 1 и 9, то при движении от 1 Вы получите последовательность 1, 4, 7, 9, затем при движении от 9 — получите 9, 6, 3, 1, т.е. 2 разные последовательности!
Использование Полосы прокрутки
Полоса прокрутки удобна, когда у Вас есть модель, которая зависит от определенного параметра и Вам требуется посмотреть, как ведут себя показатели модели в зависимости от этого параметра: согласитесь нажимать на кнопку удобней, чем вводить значения непосредственно в ячейку. Можно также нажать на Полосу прокрутки и удерживать левую клавишу мыши, и значения в связанной ячейке начнут «бежать».
Предположим, что имеется таблица с множеством столбцов и нам нужно средство для просмотра только одного столбца.
При нажатии на Полосу прокрутки (кнопки), значение в связанной ячейке А1 будет увеличиваться/ уменьшаться на 1 (шаг), следовательно, будет отображен следующий/ предыдущий месяц.
При нажатии на Полосу прокрутки (полоса), значение в связанной ячейке А1 будет увеличиваться/ уменьшаться на 3 (шаг страницы), следовательно, будет отображен месяц, отстоящий на 3 месяца вперед или назад.
Это реализовано с помощью формулы =СМЕЩ($B19;;$A$1-1) в ячейке В8 и ниже.
Также для выделения текущего месяца в исходной таблице использовано Условное форматирование.
Нажмем на кнопку Полосы прокрутки, чтобы отобразить (в диапазоне В8:В14) следующий месяц.
Этот месяц будет выделен в исходной таблице.
Примечание. Таблица, конечно же, спроектирована не совсем корректно: логично разместить материалы в столбцах, а месяцы в строках. О правильном проектировании таблиц читайте здесь.
Имя Элемента управления
У каждого Элемента управления есть имя. Чтобы его узнать нужно выделить Полосу прокрутки, в Поле имя будет отображено ее имя. Чтобы изменить имя Полосы прокрутки — в Поле имя введите новое имя и нажмите клавишу ENTER. Также имя можно изменить в Области выделения ().
Зачем нам знать имя элемента управления? Если Вы не планируете управлять Полосой прокрутки из программы VBA, то имя может потребоваться только для настройки его отображения на листе. Об этом читайте ниже.
Прячем Полосу прокрутки на листе
Включите Область выделения ()
- В Области выделения можно управлять отображением не только Элементов управления, но и других объектов на листе, например рисунков.
- Нажмите на изображение глаза напротив имени объекта и объект исчезнет/ появится.
Расширяем возможности Полосы прокрутки
Диапазон изменения значений Полосы прокрутки может содержать только положительные значения, шаг — только целые и положительные значения. Этого не всегда достаточно. Научимся использовать формулы, чтобы расширить возможности Полосы прокрутки (см. файл примера).
Чтобы иметь возможность изменять значение в ячейке с шагом 0,1 используйте формулу =A31/10 (Полоса прокрутки связана с ячейкой А31).
Чтобы изменять значение в ячейке от -24 до -1, используйте формулу =-25+A35 (границы Полосы прокрутки установлены от 1 до 24, Полоса прокрутки связана с ячейкой А35)
Шаг изменения Полосы прокрутки можно сделать переменным, например, используя квадратичную зависимость (1, 4, 9, 16, …) с помощью формулы =A38*A38 (Полоса прокрутки связана с ячейкой А38).
Источник: https://excel2.ru/articles/polosa-prokrutki-element-upravleniya-formy-v-ms-excel
Как в Excel 2010 и 2013 скрывать и отображать сетку — Microsoft Excel для начинающих
В одной из предыдущих статей мы успешно справились с задачей и научились печатать линии сетки на бумажной странице. Сегодня я хочу разобраться ещё с одним вопросом, также касающимся сетки. Из этой статьи Вы узнаете, как отобразить сетку на всём листе Excel или только для выбранных ячеек, а также научитесь скрывать линии, изменяя цвет заливки или цвет границ ячейки.
При открытии документа Excel, Вы видите бледные горизонтальные и вертикальные линии, которые делят рабочий лист на ячейки. Их называют линиями сетки. Очень удобно, когда на листе Excel видна сетка, так как главный замысел приложения – распределить данные по строкам и столбцам. Нет необходимости дополнительно рисовать границы ячеек, чтобы сделать таблицу с данными более понятной.
В Excel сетка отображается по умолчанию, но иногда встречаются листы, на которых она скрыта. В такой ситуации может понадобиться сделать её снова видимой. Так же часто возникает необходимость скрыть сетку. Если Вы считаете, что рабочий лист будет выглядеть аккуратнее и приятнее без линий сетки, то всегда можете сделать их невидимыми.
Хотите ли Вы отобразить сетку или, наоборот, скрыть её – читайте внимательно данную статью до конца и узнайте различные способы выполнения этих задач в Excel 2010 и 2013.
Показываем сетку в Excel
Предположим, что сетка скрыта и необходимо сделать её видимой на всём рабочем листе или во всей рабочей книге. В этом случае настроить нужные параметры на Ленте в Excel 2010 и 2013 можно двумя способами.
Первым делом, открываем лист, на котором скрыта сетка.
Совет: Если нужно показать сетку на двух или более листах Excel, кликайте по ярлычкам нужных листов в нижней части окна Excel, удерживая нажатой клавишу Ctrl. Теперь любые изменения отразятся на всех выделенных листах.
Когда листы выбраны, открываем вкладку Вид (View) и в разделе Показ (Show) ставим галочку рядом с Сетка (Gridlines).
Другой способ: на вкладке Разметка страницы (Page Layout) в разделе Параметры листа (Sheet Options) под заголовком Сетка (Gridlines) ставим галочку в строке Показать (View).
Какой бы вариант Вы ни выбрали, сетка немедленно появится на выбранных листах.
Совет: Чтобы скрыть сетку на листе, достаточно убрать галочку с параметров Сетка (Gridlines) или Показать (View).
Показываем / скрываем сетку в Excel при помощи изменения цвета заливки
Ещё один способ показать / скрыть сетку на листе Excel – использовать инструмент Цвет заливки (Fill Color). Excel скрывает сетку, если в ячейках выбран белый цвет фона. Если заливки в ячейках нет – сетка будет видима. Этот приём можно применять ко всему листу или к выбранному диапазону. Давайте посмотрим, как это работает.
- Выделяем нужный диапазон или весь лист.
Совет: Простейший способ выделить лист целиком – кликнуть по серому треугольнику в верхнем левом углу листа на пересечении заголовков строк и столбцов.
Для выделения всех ячеек на листе можно использовать сочетание клавиш Ctrl+A. Если в данный момент выделена одна из ячеек таблицы Excel, то нажать Ctrl+A потребуется дважды или трижды.
- На вкладке Главная (Home) в разделе Шрифт (Font) кликаем по выпадающему списку Цвет заливки (Fill Color).
- Чтобы скрыть сетку, нужно выбрать белый цвет заливки ячеек.
Совет: Чтобы показать сетку на листе Excel, нужно выбрать вариант Нет заливки (No Fill).
Как показано на рисунке выше, белая заливка ячеек рабочего листа создаёт эффект скрытой сетки.
Скрываем в Excel линии сетки в выбранных ячейках
Если в Excel нужно скрыть сетку только в некотором ограниченном диапазоне ячеек, то можно использовать белую заливку или белый цвет для границ ячеек. Так как менять цвет заливки мы уже пробовали, попытаемся скрыть сетку, изменяя цвет границ у ячеек.
- Выделяем диапазон, в котором нужно удалить сетку.
- Щелкаем по нему правой кнопкой мыши и в контекстном меню выбираем Формат ячеек (Format Cells).
Совет: Диалоговое окно Формат ячеек (Format Cells) можно также вызвать нажатием сочетания клавиш Ctrl+1.
- Открываем вкладку Граница (Border).
- Выбираем белый цвет и под заголовком Все (Presets) нажимаем Внешние (Outline) и Внутренние (Inside).
- Нажимаем ОК, чтобы увидеть результат.
Готово! Теперь на листе Excel появилась область, отличающаяся от других отсутствием границ ячеек.
Совет: Чтобы снова показать сетку для только что изменённых ячеек, откройте диалоговое окно Формат ячеек (Format Cells) и на вкладке Граница (Border) под заголовком Все (Presets) нажмите Нет (None).
Скрываем сетку при помощи изменения цвета её линий
Существует ещё один способ скрыть линии сетки в Excel. Чтобы сетка стала невидимой на всём рабочем листе, можно изменить цвет её линий, используемый по умолчанию, на белый. Желающим узнать подробно, как это делается, будет интересна статья Как изменить цвет линий сетки, используемый по умолчанию, и включить печать сетки в Excel 2010/2013.
Как видите, существуют различные способы скрыть и отобразить линии сетки в Excel. Выберите для себя самый подходящий. Если Вам известны другие способы, как скрыть или показать сетку в Excel, поделитесь ими в комментариях. Мы будем Вам очень благодарны!
Оцените качество статьи. Нам важно ваше мнение:
Источник: https://office-guru.ru/excel/kak-v-excel-2010-i-2013-skryvat-i-otobrazhat-setku-447.html
Заливка чередующихся строк в Excel
В Excel имеются так называемые «умные таблицы» в которых можно установить сделать чередующуюся заливку всего лишь выбрав соответствующую опцию. Однако применение таких таблиц не всегда возможно. В таких случаях можно вручную заливать строки/столбцы, но лучше воспользоваться условным форматированием.
Создание чередующейся заливки
Чтобы создать чередующуюся заливку строк как на рисунке выше необходимо:
- Выбрать диапазон с таблицей
- На вкладке Главная выбрать Условное форматирование -> Создать правило
- Откроется диалоговое окно Создание правила форматирования. Выберите тип правила Использовать формулу для определения форматируемых ячеек.
- Введите формулу =ОСТАТ(СТРОКА();2)=0 в поле Форматировать значения, для которых следующая формула является истинной:
- Нажмите кнопку Формат… и выберите нужный цвет заливки. После нажмите ОК, чтобы закрыть диалоговое окно Формат ячеек.
- Еще раз нажмите ОК, чтобы закрыть диалоговое окно Создание правила форматирования.
Как работает формула
Немного о формуле, которую мы применили. Функция СТРОКА возвращает номер строки, а функция ОСТАТ — остаток от деления (в нашем случае на 2). Таким образом, формула =ОСТАТ(СТРОКА();2)=0 возвращает ИСТИНА для каждой четной строки.
Чередующиеся столбцы
Аналогично можно заливать и столбцы. Для этого необходимо изменить в формуле функцию СТРОКА на СТОЛБЕЦ. Т.е. должно получиться следующее: =ОСТАТ(СТОЛБЕЦ();2)=0.
Примеры чередующихся заливок
Заливка через заданное количество строк
Не сложно догадаться, что если необходимо заливать строки не через одну, а например каждую 3, 5, 10, то нужно в нашей формуле менять делить =ОСТАТ(СТРОКА();10)=0.
Заливка со сдвигом
Если необходимо «сдвинуть» заливку, например, заливать нечетные строки, то необходимо применить следующую формулу =ОСТАТ(СТРОКА()+1;2)=0.
Заливка в шахматном порядке
Еще один вариант чередующей заливки — заливка в шахматном порядке. В этом случае необходимо заливать ячейки на пересечении одинаковых строк и столбцов. Для этого используем следующую формулу: =ОСТАТ(СТОЛБЕЦ();2)=ОСТАТ(СТРОКА();2). Получим такую картинку:
Скачать
Источник: https://micro-solution.ru/excel/formatting/filling-rows
Как сделать границы ячеек макросом в таблице Excel
Рисовать границы для разных ячеек вручную – это потребует много драгоценного времени и сил. Лучше применить специальный макрос, который сам поставит границы с разными типами и цветами линий для объединенных и необъединенных ячеек. Он автоматически определит положение объединенных ячеек и сам присвоит им линии границ в соответствии со всеми пожеланиями пользователя.
У нас иметься отчет по продажам в магазинах целой ритейловской сети, которые разделены на группы городов по отдельным штатам. В таблице отчета имеются объединенные ячейки:
Нам необходимо:
- Отформатировать ячейки таблицы таким образом, чтобы были установленные границы с толстой линией только для диапазонов каждого отдельного штата. А внутри группы городов каждого штата необходимо установить ячейкам границы с тонкой линией.
- Таким же образом хотим форматировать ячейки в объединенных диапазонах, охватывающих несколько столбцов. А, столбцы с показателями продаж и выручки необходимо отделить тонкими линиями. Дополнительно целая таблица должна иметь самую толстую линию для внешней границы по периметру.
- Если объединенная ячейка охватывает несколько строк, то границы ячеек, отделяющие эти строки, будут иметь тоненькие линии. По аналогичному принципу будут определены границы столбцов которых охватывает объединенная ячейка.
Напишем свой макрос, который сам автоматически выполнит весь этот объем работы для любой таблицы. Откройте редактор Visual Basic (ALT+F11):
А затем создайте новый модуль с помощью инструмента: «Insert»-«Module». А потом введите в него следующий VBA-код:
Sub BorderLine()Dim i As LongSelection.Borders(xlEdgeBottom).Weight = xlMediumSelection.Borders(xlEdgeTop).Weight = xlMediumSelection.Borders(xlEdgeLeft).Weight = xlMediumSelection.Borders(xlEdgeRight).Weight = xlMediumSelection.Borders(xlInsideHorizontal).Weight = xlThinSelection.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
NextEnd Sub
Теперь если мы хотим автоматически форматировать целую таблицу в один клик мышки, выделите диапазон A1:D18. А потом просто выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«BorderLine»-«Выполнить».
Чтобы группы данных по строкам и столбцам на против объединенных ячеек были экспонированы границами пользовательской толщены, сначала кода присваиваем линию увеличенной толщины для внешних границ выделенного диапазона.
А внутренним границам присваивается линия со стандартной толщиной. Далее с помощью цикла выполняется проход по каждой ячейке выделенного диапазона и все они проверяются. Если ячейка является объединенной, то ей присваивается соответственная граница.
Конечно же изменения границ касаются только для ячеек внутри выделенного диапазона.
С помощью свойства Weight можно установить 4 типа толщины линии для границ ячеек:
- xlThink – наиболее толстая линия.
- xlMedium – просто толстая граница.
- xlThin – стандартная толщина линии для границ.
- xlHairLine – свойство для самой тонкой границы ячейки.
Внимание! Если перед использованием макроса некоторые ячейки уже имели свои линии границ в другом цвете кроме черного или их лини были в другом стиле, тогда после запуска макроса некоторые ячейки могут получить другой цвет или стиль обводки. Чтобы перестраховаться от таких ошибок, в начале кода макроса, после строки декларации переменной i, вставим еще 2 строки с кодом:
Selection.Borders.Color = vbBlack
Selection.Borders.Color = xlContinuous
Полная версия макроса, работающего безошибочно при любых условиях и форматах для исходной таблицы:
Sub BorderLine()Dim i As LongSelection.Borders.Color = vbBlackSelection.Borders.Color = xlContinuousSelection.Borders(xlEdgeBottom).Weight = xlMediumSelection.Borders(xlEdgeTop).Weight = xlMediumSelection.Borders(xlEdgeLeft).Weight = xlMediumSelection.Borders(xlEdgeRight).Weight = xlMediumSelection.Borders(xlInsideHorizontal).Weight = xlThinSelection.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
NextEnd Sub
Теперь можно уверенно и быстро красиво форматировать большие таблицы по одному клику мышкой или нажатию комбинации горячих клавиш для вызова соответственного макроса.
Источник: https://exceltable.com/vba-macros/izmenit-granicy-makrosom
Excel в Delphi. Как изменить внешний вид ячеек?
Итак, сегодня разберемся как сделать наш лист Excel более красивым, а именно разберемся со следующими вопросами:
1. Как добраться до конкретной границы ячейки?
Перед Вами окно изменения формата ячеек. Вкладка «Границы». Как видите Excel может отрисовывать следующие границы ячеек:
- верхнюю
- нижнюю
- левую
- правую
- диагональную из верхнего левого угла в нижний правый
- диагональную из верхнего правого угла в нижний левый
Если Вы выбираете диапазон ячеек, то дополнительно добавляются ещё два вида границ:
- внутренние горизонтальные
- внутренние вертикальные.
Кроме этого, Вы можете определить свой стиль линий для прорисовки и цвет линий. В самом Excel работа с форматом ячеек достаточно прозрачна и ясна. А вот при работе с Excel в Delphi все обстоит не так уж и радужно 🙂
Прежде чем браться за прорисовку границ, следует определиться — какой объект Вы будете для этого использовать. Вы можете прорисовать границу с помощью объектов:
- Cells — ячейка
- Range — диапазон ячеек
- UsedRage — диапазон занятых ячеек
Я обычно использую третий вариант (UsedRange), так как работаю с форматами ячеек после того как перешлю необходимые данные в Excel. Кроме того, если пересылается большая таблица с данными, то использовать Cells — значит очень сильно «подвесить» свое приложение, так как надо будет добраться до каждой ячейки и изменить её формат.
Итак, будем использовать UsedRange. Теперь разберемся как нам добраться до границ.
Для того, чтобы получить доступ к коллекции границ объекта достаточно воспользоваться объектом Borders. Так как нам необходим доступ не ко всем границам, а только к конкретной, то после Borders необходимо указывать индекс границы. В Excel определены следующие константы:
xlDiagonalDown | 5 | Диагональная от верхнего левого угла в нижний правый каждой ячейки в диапазоне |
xlDiagonalUp | 6 | Диагональная из нижнего левого угла в правый верхний каждой ячейки в диапазоне. |
xlEdgeBottom | 9 | Нижняя для всего диапазона ячеек |
xlEdgeLeft | 7 | Левая для всего диапазона ячеек. |
xlEdgeRight | 10 | Правая для всего диапазона ячеек. |
xlEdgeTop | 8 | Верхняя для всего диапазона ячеек. |
xlInsideHorizontal | 12 | Горизонтальные границы всех внутренних ячеек диапазона |
xlInsideVertical | 11 | Вертикальные границы всех внутренних ячеек диапазона |
Теперь переносим эти константы в наш модуль работы с Excel:
uses ….
const
xlDiagonalDown = 5;
xlDiagonalUp = 6;
xlEdgeBottom = 9;
xlEdgeLeft = 7;
xlEdgeRight = 10;
xlEdgeTop = 8;
xlInsideHorizontal = 12;
xlInsideVertical = 11;
….
И для того, чтобы получить доступ, например к нижней границе диапазона ячеек, пишем следующий код:
MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Borders[xlEdgeBottom]
Аналогичным образом Вы можете получить доступ к любой из восьми границ.
2. Как изменить внешний вид границы?
Доступ к границе получен. Теперь можно приступать к изменению внешнего вида.
Объект Borders имеет следующие свойства:
- LineStyle — стиль линии границы
- ColorIndex — индекс цвета границы
- Weight — толщина границы
Для каждого из этих свойств в Excel определены свои счётчики (Enumerators) или, говоря на языке Delphi — константы.
Стили линий (LineStyle) могут быть следующие:
xlContinuous | 1 | Непрерывная линия |
xlDash | -4115 | Пунктирная линия |
xlDashDot | 4 | Пунктир с точкой |
xlDashDotDot | 5 | Пунктир с двумя идущими подряд точками |
xlDot | -4118 | Линия из точек |
xlDouble | -4119 | Двойная линия |
xlLineStyleNone | -4142 | Без линий |
xlSlantDashDot | 13 | Наклонная пунктирная |
- Стандартные индексы цветов, которые вы можете использовать при прорисовке границы представлены на рисунке:
- Для толщины линии определены константы:
xlHairline | 1 | Самая тонкая граница |
xlMedium | -4138 | Средняя толщина |
xlThick | 4 | Толстая граница |
xlThin | 2 | Тонкая граница |
Определите эти константы в своем модуле Delphi и можете приступать к прорисовке границ. Например, нам необходимо прорисовать внешние границы таблицы двойной линией, а внутренние — тонкими сплошными. Цвета линий оставим по умолчанию — черными. Тогда код Delphi будет выглядеть следующим образом:
…
with MyExcel.ActiveWorkBook.ActiveSheet.UsedRange do
begin
Borders[xlEdgeBottom].LineStyle:=xlDouble;
Borders[xlEdgeTop].LineStyle:=xlDouble;
Borders[xlEdgeLeft].LineStyle:=xlDouble;
Borders[xlEdgeRight].LineStyle:=xlDouble;
Borders[xlInsideHorizontal].LineStyle:=xlSolid;
Borders[xlInsideVertical].LineStyle:=xlSolid;
end;
…
Аналогичным образом Вы можете изменять границы отдельных ячеек и диапазонов, например выделить шапку таблицы или сделать перечёркнутой верхнюю левую ячейку и т.д.
Переходим к следующему вопросу.
3. Как сделать заливку ячеек цветом?
Для заливки ячеек цветом можно использовать те же константы, что и при работе с ячейками. Однако ни объект Range ни Cells не имеют свойства ColorIndex. Чтобы получить доступ к заливке ячейки или диапазона необходимо воспользоваться свойством Interior, которое дает доступ к внутренней части объекта. Например, выполнив операцию:
MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Interior
вы получите доступ к внутренней части диапазона занятых ячеек, т.е. по сути, ко всей таблице. А получив такой доступ, Вы можете делать с объектом всё, что угодно. Например изменим цвет нашей таблицы на красный:
MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Interior.ColorIndex:=3;
4. Как изменить шрифт в ячейках?
Для того, чтобы получить доступ к шрифтам, необходимо добраться до одного из свойств UsedRange, а именно до свойства Font, которое и вернет нам объект, позволяющий изменять шрифт, цвет шрифта и прочие атрибуты . Например, изменим цвет шрифта в таблице на синий:
MyExcel.ActiveWorkBook.ActiveSheet.UsedRange.Font.ColorIndex:=5;
Аналогичным образом, через объект Font Вы можете также изменить:
- Толщину шрифта
- Наклон
- Размер
- Сделать текст подчёркнутым и т.д.
Для этого достаточно воспользоваться одним из свойств объекта Fonts.
Источник: https://webdelphi.ru/2009/09/excel-v-delphi-kak-izmenit-vneshnij-vid-yacheek/
На этом шаге мы рассмотрим создание линии и задание ее параметров.
Линия в рабочей книге Excel создается с использованием метода AddLine коллекции Shapes. Аргументами метода AddLine являются начальные и конечные координаты (BeginX, BeginY, EndX и EndY типа Extended). Толщина, цвет и другие характеристики линии задаются, в основном, так же, как для линии границы надписи (таблица 1).
Visible | Boolean | Отобразить/скрыть линию |
Weight | Integer | Толщина линии |
ForeColor.RGB | TColor | Цвет линии |
BackColor.RGB | TColor | Цвет фона (для узора) |
Style | Integer | Тип линии |
DashStyle | Integer | Шаблон линии |
Pattern | Integer | Узор |
BeginArrowheadStyle | Integer | Вид стрелки в начале линии |
BeginArrowheadLength | Integer | Длина стрелки в начале линии |
BeginArrowheadWidth | Integer | Ширина стрелки в начале линии |
EndArrowheadStyle | Integer | Вид стрелки в конце линии |
EndArrowheadLength | Integer | Длина стрелки в конце линии |
EndArrowheadWidth | Integer | Ширина стрелки в конце линии |
Следующее приложение позволяет создать и настроить параметры линии.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, Spin, ExtDlgs, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; ListBox1: TListBox; Label3: TLabel; Button4: TButton; Panel1: TPanel; Button5: TButton; ColorDialog1: TColorDialog; Label2: TLabel; SpinButton1: TSpinButton; Edit1: TEdit; Edit2: TEdit; SpinButton2: TSpinButton; Label1: TLabel; Label4: TLabel; ComboBox1: TComboBox; Button6: TButton; Button7: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure SpinButton1DownClick(Sender: TObject); procedure SpinButton1UpClick(Sender: TObject); procedure SpinButton2DownClick(Sender: TObject); procedure SpinButton2UpClick(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation
var E:variant; LN:Variant;
{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
//Создание объекта Excel и отображение окна
begin E:=CreateOleObject('Excel.Application'); E.Visible:=True;
end; procedure TForm1.Button2Click(Sender: TObject);
//Создание рабочей книги
begin E.WorkBooks.Add;
end; procedure TForm1.Button3Click(Sender: TObject);
//Создание линии
var left,top:Extended;
begin left:=10; top:=11; if E.ActiveWorkBook.ActiveSheet.Shapes.Count>0 then begin left:=E.ActiveWorkBook.ActiveSheet.Shapes. item(E.ActiveWorkBook.ActiveSheet.Shapes.count).Left+20; top:=E.ActiveWorkBook.ActiveSheet.Shapes. item(E.ActiveWorkBook.ActiveSheet.Shapes.count).Top+20; end; E.ActiveWorkBook.ActiveSheet.Shapes.AddLine( left, top, left+150, top+100);
end; procedure TForm1.Button4Click(Sender: TObject);
//Заполнить список линий
var a: Integer;
begin ListBox1.Items.Clear; for a:=1 to E.ActiveWorkBook.ActiveSheet.Shapes.Count do ListBox1.Items.Add(E.ActiveWorkBook.ActiveSheet.Shapes.Item(a).Name);
end; procedure TForm1.ListBox1Click(Sender: TObject);
// При активизации строки объекта ListBoxl, используя имя объекта,
// выделяем его из коллекции Shapes и записываем ссылку на этот объект
//в переменную LN.
begin LN:=E.ActiveWorkBook.ActiveSheet.Shapes.Item( ListBox1.Items.Strings[ListBox1.ItemIndex]);
end; procedure TForm1.Button5Click(Sender: TObject);
//Задание цвета линии
begin if ColorDialog1.Execute then LN.Line.ForeColor.RGB:=ColorDialog1.Color;
end; procedure TForm1.SpinButton1DownClick(Sender: TObject);
//Уменньшение толщины линии
begin LN.Line.Weight:=LN.Line.Weight-0.25; Edit1.Text:=FloatToStr(LN.Line.Weight);
end; procedure TForm1.SpinButton1UpClick(Sender: TObject);
//Увеличение толщины линии
begin LN.Line.Weight:=LN.Line.Weight+0.25; Edit1.Text:=FloatToStr(LN.Line.Weight);
end; procedure TForm1.SpinButton2DownClick(Sender: TObject);
//Уменьшение плотности цвета
begin if LN.Line.Transparency0 then begin LN.Line.Transparency:=LN.Line.Transparency-0.01; Edit2.Text:=FloatToStr(LN.Line.Transparency); end;
end; procedure TForm1.ComboBox1Change(Sender: TObject);
//Выбор узора для линии границы надписи
begin LN.Line.Pattern:=ComboBox1.ItemIndex+1;
end; procedure TForm1.Button6Click(Sender: TObject);
//Задание цвета узора
begin if ColorDialog1.Execute then LN.Line.ForeColor.RGB:=ColorDialog1.Color;
end; procedure TForm1.Button7Click(Sender: TObject);
//Задание цвета фона узора
begin if ColorDialog1.Execute then LN.Line.BackColor.RGB:=ColorDialog1.Color;
end; end.
Текст этого приложения можно взять здесь (9,9 Кб).
Результат работы приложения изображен на рисунке 1.
Рис.1. Результат работы приложения
На следующем шаге мы рассмотрим создание произвольных фигур.
Источник: http://it.kgsu.ru/DelCOM/com_0164.html