Избранное

Пол Экман. Психология лжи. Обмани... Правда ли, что современный человек в среднем лжет трижды за десять минут разговора? Как реагировать на то, что...

Далее

Работа с процедурами VBA Процедура — это последовательность операторов VBA, расположенная в модуле VBA, доступ к которому можно получить...

Далее

Джон Теннент. Управление денежными... Это пособие имеет целью ознакомить вас с основными принципами управления денежными средствами и денежным потоком,...

Далее

Основы программирования на... Для начала в качестве примера рассмотрим простую процедуру VBA типа Sub. Она хранится в модуле VBA и вычисляет сумму...

Далее

Барбара Такман. Августовские... Августовские пушки – одна из самых значительных исторических работ XX века. Она удостоена Пулитцеровской премии,...

Далее

Как узнать путь к папке TEMP

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

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

Задача: я хочу найти путь к папке TEMP в VBA. Решение: чтобы на вашем компьютере найти путь к папке TEMP, используйте код VBA:

TempPath = Environ("Temp")

Функция Environ помимо обнаружения пути к папке TEMP, дает большое количество информации о системе. Однако, вы должны быть аккуратны, потому что переменные функции, присутствующие на одном компьютере, могут отсутствовать на другом. Чтобы узнать, какие переменные доступны в вашей системе, используйте следующий код:

Sub ListEnvironVariables()
    For i = 1 To 99
        Cells(i, 1).Value = Environ(i)
    Next i
End Sub

Когда вы запустите этот код, вы получите список доступных переменных (рис. 1). Каждая строка здесь содержит имя переменной, знак равенства и значение переменной для данного компьютера.

Рис. 1. Значение переменных функции Environ

Рис. 1. Значение переменных функции Environ

Далее

Использование таймера для сравнения производительности формул

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

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

Задача: два гуру Excel заходят в бар. Один из них говорит, что быстрее работает формула =МАКС(0;МИН(A1;B1)), а другой – что =МЕДИАНА(0;A1;B1). Кто из них прав?

Решение: вы можете найти ответ путем использования макроса VBA для вычисления каждой формулы 50 000 раз. Прежде чем стартует макрос, вы сохраняете значение таймера в переменную. Когда 50 000 расчетов завершится, можно сравнить исходное и конечное значения таймера.

На ПК под управлением Windows, таймер показывает количество секунд и долей секунды, прошедших с полуночи. На Mac, функция возвращает только целые секунды, так что процесс вычислений нужно повторить достаточное количество раз, чтобы увидеть разницу в секундах. Также, убедитесь, что во время работы макроса не начался новый день (вы не перешли через полночь).

Рис. 1. МЕДИАНА работает немного медленнее, чем связка МАКС(МИН())

Рис. 1. МАКС(МИН()) работает немного медленнее, чем МЕДИАНА()

Далее

Нахождение наиболее близкого значения

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

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

Задача: люди вводят данные различными способами. Если вы попросите 50 торговых представителей записать прогноз для Дженерал Моторс, вы обнаружите дюжину различных способов написания названия компании или ее аббревиатуры. Объединить прогнозы от всех торговых представителей будет непросто. В столбце А (рис. 1) показаны некоторые способы написания имен клиентов, чьи официальные названия приведены в столбце D.

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

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

Далее

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

Рубрика: 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. Сочетание клавиш для запуска макроса не определено

Далее