Сообщение в excel как сделать

Всплывающая подсказка в ячейке

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

На создание такой подсказки меня навел однажды вопрос на одном из форумов — как можно сделать удобный перевод текста из ячейки, чтобы он показывался при наведении на ячейку мышью? Не выделении — именно наведении. Можно использовать примечания(вкладка Рецензирование -Создать примечание). Но в случае с примечаниями есть несколько не очень удобных моментов: размеры примечания придется подгонять для каждой подсказки отдельно; примечания как правило будут показываться справа от ячейки, а не чуть ниже; при большом количестве примечаний файл может значительно увеличиться в размерах и некоторые возможности будут мешать их корректному отображению(например, если закрепить области, то примечание может и съехать и «срезаться»). Первое, что пришло в голову — а что если сделать как в гиперссылках (Что такое гиперссылка?)? Если точнее — что если именно эти подсказки использовать? Но как же тогда делать гиперссылку? Куда? Все просто — я решил, что можно создать гиперссылку на ячейку, в которой сама гиперссылка. Тогда даже при нажатии на ячейку с гиперссылкой нас никуда не перекинет. Я покажу как это можно сделать вручную и как это можно сделать при помощи кода VBA.
Для начала немного об исходных данных. У нас есть лист с ячейками, в которых надо создать подсказки и есть лист «справочник», в котором указано для каких значений какие должны быть подсказки.

РУЧНОЕ СОЗДАНИЕ ПОДСКАЗКИ
Выделяем ячейку, подсказку для которой хотим создать -правый клик мыши -Гиперссылка (Hyperlink). Откроется окно добавления гиперссылки.

Выбираем местом в документе
Введите адрес ячейки — указываем адрес той ячейки, в которой хотим создать подсказку
Или выберите место в документе — указываем тот лист, на котором наша ячейка, в которой создаем подсказку.
Далее жмем кнопку Подсказка и в появившемся окне вписываем текст всплывающей подсказки -Ок. Так же в основном окне жмем Ок. Подсказка создана.
Ниже небольшой ролик, в котором показано как это все делается пошагово:

В этом способе все хорошо, кроме двух вещей:

  1. Если подсказок много, но создавать их весьма непростое занятие. Необходимость листа «справочник» при ручном методе так же ставится под сомнение
  2. При создании гиперссылки формат ячейки автоматом изменяется. А для нашей цели это в большинстве случаев не надо. Это можно обойти, создавая подсказки вторым способом — при помощи кодов VBA.

СОЗДАНИЕ ПОДСКАЗКИ АВТОМАТИЧЕСКИ КОДОМ VBA
Здесь особо рассказывать нечего — лучше сначала скачать файл, приложенный к статье. Там есть лист «справочник», в котором забита пара значений для подсказок и лист, в котором подсказки создаются.
Как это работает. Выделяются ячейки для создания подсказок(в примере это D15:D16 ). И кнопкой запускается код, который в выделенных ячейках создаст всплывающие подсказки. Сам принцип: код просматривает каждую выделенную ячейку и если она не пустая запоминает её значение. Ищет это значение в первом столбце листа «справочник» и если находит — создает гиперссылку и значение из второго столбца листа «справочник»(в строке с найденным значением) вставляет в качестве подсказки к гиперссылке.
Но помимо этого код перед созданием гиперссылки запоминает большую часть форматирования текста в ячейке и после создания гиперссылки возвращает его. Хотя и здесь не без ложки дегтя — код не сможет корректно обработать и вернуть смешанное форматирование (например, разный цвет шрифта в одной ячейке, разный стиль и т.п.). Но подсказки при этом все равно будут созданы.
Что следует знать: код ищет каждое значение ячейки полностью, а не каждое слово отдельно. Это значит, что если в ячейке будет записано «аннуитентный платеж», а не просто «аннуитентный» как в примере — то подсказка для такой ячейки не будет создана.
Если добавить или изменить значения в листе «справочник», то для того, чтобы подсказки обновились необходимо запустить код заново. Внесение изменений в сам код при этом не требуется.
Созданные подсказки останутся в файле даже если удалить сам код. Т.е. если создать подсказки в файле, а затем файл переслать другому человеку — он сможет использовать подсказки без дополнительных действий.

Читать еще:  Как сделать торг 12 в excel?

Всплывающая подсказка в ячейке (59,0 KiB, 1 760 скачиваний)

Если кому-то лень качать сам пример — привожу так же код:

‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ http://www.excel-vba.ru ‘ Purpose: ‘————————————————————————————— Option Explicit ‘ Sub CreateTooltip() Dim rr As Range, rc As Range, rf As Range Dim wsDic As Worksheet Dim aParams(1 To 12) ‘лист в котором указано для каких значений какие должны быть подсказки Set wsDic = ThisWorkbook.Sheets(«справочник») On Error Resume Next ‘определяем в выделенном диапазоне ячейки только внутри рабочего диапазона Set rr = Intersect(Selection, ActiveSheet.UsedRange) ‘если лист пустой — завершаем код If rr Is Nothing Then Exit Sub On Error GoTo 0 ‘отключаем обновление экрана для быстродействия Application.ScreenUpdating = False ‘цикл по выделенным ячейкам For Each rc In rr.Cells With rc If Len(.Value) Then ‘если в ячейке есть значение(не пустая) ‘ищем значение ячейки на листе «справочник» Set rf = wsDic.Columns(1).Find(what:=.Value, LookIn:=xlValues, lookat:=xlWhole) ‘если соответствие найдено If Not rf Is Nothing Then On Error Resume Next ‘если вдруг есть смешанное форматирование текста ‘запоминаем форматирование ячейки до создания гиперссылки With .Font aParams(1) = .Color aParams(2) = .Bold aParams(3) = .FontStyle aParams(4) = .Italic aParams(5) = .Name aParams(6) = .Size aParams(7) = .Strikethrough aParams(8) = .Subscript aParams(9) = .Superscript aParams(10) = .ThemeFont aParams(11) = .TintAndShade aParams(12) = .Underline End With ‘добавляем гиперссылку с подсказкой из ячейки второго столбца ‘листа «справочник» .Hyperlinks.Add rc, «», «», (rf.Offset(, 1).Value), (.Value) ‘отменяем стандартное форматирование ячейки после создания гиперссылок With .Font .Color = aParams(1) .Bold = aParams(2) .FontStyle = aParams(3) .Italic = aParams(4) .Name = aParams(5) .Size = aParams(6) .Strikethrough = aParams(7) .Subscript = aParams(8) .Superscript = aParams(9) .ThemeFont = aParams(10) .TintAndShade = aParams(11) .Underline = aParams(12) End With On Error GoTo 0 End If End If End With Next Application.ScreenUpdating = True End Sub

Читать еще:  Как сделать из документа pdf документ excel?

Поиск по меткам

Поделитесь своим мнением

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

Почтовая рассылка

Постановка задачи

Имеем таблицу в Microsoft Excel, в которой хранится информация о ключевых клиентах нашей компании (адреса эл.почты, имена, названия компаний и т.д.), которых мы хотим поздравить с очередным праздником.

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

В конце все созданные сообщения надо:

  • либо отправить через Outlook каждому клиенту на его e-mail
  • либо распечатать для последующей отправки обычной почтой
  • либо закинуть в новый файл, где каждое письмо будет отдельным листом (разделом)

В терминах Microsoft Office такая процедура называется Слиянием (Mail Merge) . Поехали.

Подготовка списка клиентов в Excel

Таблица со списком клиентов для рассылки должна удовлетворять нескольким простым условиям:

  • Шапка таблицы должна быть простой — одна строка с уникальными названиями столбцов (без повторений и пустых ячеек).
  • В таблице не должно быть объединенных ячеек.
  • В таблице не должно быть пустых строк или столбцов (отдельные пустые ячейки допускаются).

Если планируется отправка по электронной почте, то, само-собой, в таблице должен быть столбец с адресами получателей.

Поскольку Excel и Word не смогу сами определить пол клиента по имени, то имеет смысл сделать отдельный столбец с обращением (господин, госпожа и т.п.) или с родовым окончанием (-ый или -ая) для обращения «Уважаемый(ая). » Как вариант, возможно полуавтоматическое определение пола в зависимости от окончания отчества («а» или «ч»), реализованное функцией ПРАВСИМВ (RIGHT) .

В новых версиях Microsoft Excel 2007/2010 для таких таблиц очень удобно использовать инструмент Форматировать как таблицу (Format as Table) с вкладки Главная (Home) . Подробнее про такие «умные таблицы» можно почитать тут.

Создаем сообщение в Word и подключаем Excel

Открываем новый пустой документ в Microsoft Word и набираем туда текст нашего сообщения, оставляя в нем пустые места для будущей вставки имени клиента и его компании.

Потом запускаем пошаговый Мастер Слияния на вкладке Рассылки (Mailings) кнопкой Начать слияние ( Start Mail Merge ) – Пошаговый мастер слияния (Step-by-Step Merge Wizard) :

В Word 2003 и старше эта команда была доступна в меню Сервис — Письма и рассылки — Мастер слияния (Tools — Letters and Mailings — Mail Merge) .

Далее следует процесс из 6 этапов (переключение между ними — с помощью кнопок Вперед (Next) и Назад (Back) в правом нижнем углу в области задач).

Этап 1. Выбор типа документа.

На этом шаге пользователь должен выбрать тип тех документов, которые он хочет получить на выходе после слияния. Наш вариант — Письма (Letters) , если мы хотим на выходе отправить созданные письма на принтер или Электронное сообщение (E-mail) , если хотим разослать их по почте.

Читать еще:  Как сделать сценарий в excel?

Этап 2. Выбор документа

На этом шаге необходимо определить, какой документ будет являться основой (заготовкой) для всех будущих однотипных сообщений. Мы выбираем — Текущий документ (Current document) .

Этап 3. Выбор получателей

На этом шаге мы подключаем список клиентов в Excel к документу Word. Выбираем Использование списка и жмем на Обзор (Browse) , после чего в диалоговом окне открытия файла указываем где лежит наш файл со списком клиентов.

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

Этап 4. Создание письма

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

В итоге, после вставки всех полей слияния у нас должно получиться нечто похожее (вставленные поля выделены красным):

Если в исходной таблице не было специального столбца для окончания «ый»/»ая» к слову «уважаем» (как в нашем примере), но был обычный столбец «Пол» с классическими «муж» и «жен», то можно воспользоваться кнопкой Правила (Rules) на вкладке Рассылки (Mailings) :

Эта кнопка открывает список правил (функций и полей), доступных для вставки в документ при создании рассылки. Для подстановки нужного окончания к слову «уважаемый/ая» выберем третий пункт IF. THEN. ELSE. В открывшемся затем окне зададим правило подстановки правильного окончания в зависимости от пола:

Этап 5. Просмотр писем

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

Этап 6. Завершение слияния

На завершающем этапе возможны несколько вариантов:

Нажатие ссылки Печать (Print) приведет к немедленной отправке всех результатов слияния на принтер без вывода на экран.

Если необходимо сохранить созданные в результате слияния документы для дальнейшего использования или требуется внести ручную правку в некоторые из документов, то лучше использовать ссылку Изменить часть писем (Edit individual letters) , которая выведет результаты слияния в отдельный файл:

Если вы на Шаге 1 выбирали опцию Электронные сообщения (E-mail) , то на Шаге 6 вам предложат ввести тему для отправляемых сообщений и выбрать столбец таблицы, содержащий адреса электронной почты для рассылки. Затем все созданные сообщения будут помещены в папку Исходящие (Outbox) вашего почтового клиента Outlook.

Для проверки правильности созданных сообщений можно заранее временно отключить Outlook от сервера, чтобы письма сразу не ушли и вы могли их посмотреть и убедиться, что с ними все в порядке. Для этого в меню Microsoft Outlook можно выбрать команду Файл — Автономный режим или даже временно отключить сетевое подключение к вашему компьютеру. Письма временно «застрянут» в папке Исходящие (Outbox) и вы сможете их открыть и проверить перед отправкой.

Ссылка на основную публикацию
Adblock
detector