Избранное

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

Далее

Ли Росс, Ричард Нисбетт. Человек... Кто мы есть? Что определяет наше поведение: врожденные черты или окружающая нас ситуация? «Человек и ситуация»...

Далее

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

Далее

Юваль Харари. SAPIENS. Краткая история... Соединив естественнонаучный подход с историческим, доктор Юваль Харари ставит под сомнение многие общепринятые...

Далее

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

Далее

Чарльз Маккей. Наиболее распространенные заблуждения и безумства толпы

Рубрика: 11. О разном

Книга Чарльза Маккея является подборкой наиболее выдающихся заблуждений и безумств человечества: от финансовых пирамид до религиозных психозов. Она стала классическим трудом о массовых маниях, поведении толпы и человеческой глупости. «Заблуждения» и «безумства», изложенные в книге, относятся к хроническим «болезням» человечества. Финансовые пирамиды, коррумпированность власти, фальсификации и самообман мнимых врачевателей и пророков — все это было, есть и будет. Впервые на английском языке книга вышла в 1841 г. Написана (или переведена на русский) очень современным языком.

Книга довольно часто цитируется. Я встретил ссылку на нее в Карл Эдвард Саган. Мир, полный демонов. Наука — как свеча во тьме и Дункан Уоттс. Здравый смысл врет. Почему не надо слушать свой внутренний голос.

Чарльз Маккей. Наиболее распространенные заблуждения и безумства толпы. – М.: Альпина Паблишер, 2015. – 684 с.

Чарльз Маккей. Наиболее распространенные заблуждения и безумства толпы. Обложка

Далее

Извлечение адреса электронной почты из ячейки, содержащей другой текст

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

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

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

Макрос

В основе макроса лежит функция VBA Split. Допустим, что ячейка содержит текст Write to lora@mrexcel.com to book a seminar. Если передать этот текст в функцию Split и указать, что текст следует разбить на элементы, разделенные пробелом – x = Split(cell.Value, " ") – VBA вернет массив, где каждое слово будет элементом массива. На рис. 1 показан массив x после использования функция Split.

Рис. 1. Функция Split возвращает массив, где каждое слово будет элементом массива

Рис. 1. Функция Split возвращает массив, где каждое слово будет элементом массива

Далее

Создание макроса обработчика событий

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

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

Рис. 1. Для доступа к коду объекта ThisWorkbook кликните на ней правой кнопкой мыши и выберите View Code

Рис. 1. Для доступа к коду объекта ThisWorkbook кликните на ней правой кнопкой мыши и выберите View Code

Далее

Создание обычного макроса

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: вы нашли интересный макрос на сайте MrExcel или Планета Excel. Ваша книги Excel в настоящее время не имеют каких-либо макросов. Как вставить макрос в книгу?

Решение: вы можете ввести обычный макрос в модуль в редакторе VBA. Откройте книгу Excel, в которой хотите сохранить макрос. Перейдите в редактор VBA, нажав Alt+F11 или пройдите по меню РАЗРАБОТЧИК –> Visual Basic (редактор VBA не русифицирован). В редакторе VBA пройдите по меню Insert –> Module (рис. 1).

Рис. 1. Создание нового модуля VBA

Рис. 1. Создание нового модуля VBA

Далее

Запуск макроса иконкой

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: в двух предыдущих заметках мы рассказали, как запускать макросы клавиатурными сокращениями и кнопками, расположенными на листе Excel. Можно ли запустить макрос значком на панели инструментов?

Решение: почему-то при переходе с версии Excel 2003 на 2007 Microsoft уменьшил возможности использования иконок для запуска макросов. В Excel 2007 остался единственный способ (кроме кода VBA) использования иконок – добавление кнопки макроса на панель быстрого доступа. Выполните следующие действия.

Кликните правой кнопкой мыши в любом месте ленты и выберите Настройка панели быстрого доступа (рис. 1).

Рис. 1. Запуск настройки панели быстрого доступа

Рис. 1. Запуск настройки панели быстрого доступа

Далее

Запуск макроса кнопкой

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: в предыдущей заметке мы рассказали, как запускать макросы клавиатурными сокращениями. Можно ли для этой цели использовать кнопки на листе?

Решение: существует множество способов запустить макрос кнопкой (рис. 1).

Рис. 1. Вы можете запустить макрос с помощью любого из этих элементов

Рис. 1. Вы можете запустить макрос с помощью любого из этих элементов

Далее

Назначение макросу сочетания клавиш

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

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

В Excel каждому макросу может быть назначена комбинация клавиш быстрого вызова. В предыдущей заметке рассказывалось, как создать личную книгу макросов. Тогда мы не обратили внимание на определение макросу сочетания клавиш, оставив это поле пустым (рис. 1). Никогда не поздно вернуться назад. Код VBA (в комментариях в верхней части макроса) хранит сочетание клавиш, которое запускает этот макрос (если мы определили это сочетание в момент записи). Однако, изменения в комментариях макроса не влияют на фактическое сочетание клавиш, требуемое для запуска макроса.

Рис. 2. Диалоговое окно Запись макроса

Рис. 1. Сочетание клавиш для запуска макроса не определено

Далее

Создание личной книги макросов

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

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

Решение: в Excel 2007 и более поздних версиях выполните следующие действия:

Откройте любую рабочую книгу или создайте новую (Ctrl+N).

В нижнем левом углу окна Excel справа от слова ГОТОВО в строке состояния вы найдете значок записи макроса (рис. 1). Щелкните по нему.

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

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

Далее

Задание координат объекта DataLabel (подписи данных на диаграмме)

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: объект DataLabel (метка подписи данных на диаграмме) не имеет, ни собственной высоты, ни ширины, и Excel не позволяет пользователю изменять его размер. В некоторых ситуациях вам может потребоваться определить эти свойства. Например, когда подписи наезжают друг на друга (рис. 1).

Рис. 1. Вы хотите узнать высоту и ширину объекта DataLabel для точки (210; 414)

Рис. 1. Вы хотите узнать высоту и ширину объекта DataLabel для точки (210; 414)

Далее

Создание сводной таблицы на основе нескольких листов

Рубрика: 7. Полезняшки Excel

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: у вас данных больше, чем может поместиться на одном листе, или данные по иным причинам распределены на нескольких листах (например, один месяц – один лист, рис. 1, или один отдел – один лист). Вы хотите создать сводную таблицу из данных, распределенных между несколькими листами. В старых версиях Excel функция консолидации работает, мягко выражаясь, странно (см., Сводная таблица на основе нескольких листов). Начиная с Excel 2013 функция консолидации значительно улучшена (см. Сводная таблица на основе нескольких листов или диапазонов консолидации). Книга Джелена вышла в 2009 г., так что метод, предложенный в настоящей заметке, возможно, и не представляет значительной практической ценности. Однако, как я уже упоминал ранее, материалы Джелена методически интересны сами по себе, поэтому я счел полезным перевести и эту главу.

Рис. 1. Исходные данные расположены на пяти листах

Рис. 1. Исходные данные расположены на пяти листах

Далее