Записи с меткой "Макросы и VBA"

Как определить последний рабочий день месяца(Excel, VBA, PowerQuery)

Проблема получения последнего дня месяца довольно распространена и очень просто решается. Начиная с Excel 2007 можно без всяких доп.манипуляций использовать функцию КОНМЕСЯЦА(EOMONTH): =КОНМЕСЯЦА(ТДАТА();0) =EOMONTH(NOW(),0) ТДАТА(NOW) - возвращает текущую дату. Вместо неё можно указать любую дату и последняя дата месяца будет возвращена для указанной даты. Для версий 2003 и ранее для использования КОНМЕСЯЦА(EOMONTH) необходимо для начала подключить надстройку Пакет анализа или же использовать чуть менее понятную...

Элементы ActiveX перестали работать или ведут себя непредсказуемо

В Microsoft Office после определенных обновлений может появиться проблема: Перестают работать все элементы ActiveX (кнопки CommandButton, списки(Lists и ComboBox) и пр.) во всех файлах, а так же невозможно вставить любой элемент ActiveX на лист(при попытке вставки появляется сообщение Вставка объекта неосуществима), а при работе с таким файлом может появится ошибка Can't exit design mode because control cannot be created). Подробнее про вставку таких элементов на лист можно прочитать в статье: КАК СОЗДАТЬ КНОПКУ ДЛЯ ВЫЗОВА МАКРОСА НА ЛИСТЕ? Там я описывал пример вставки кнопки через ActiveX, но сути...

Пустая ячейка определяется Excel-ем как не пустая. Что за глюк?

Эта статья будет близка тем, кому приходится часто работать с отчетами, выгруженными в Excel из программ вроде 1С, SAP и им подобных. Вводные данные: есть отчет который выкачивается из сторонней программы. В нем есть ячейки, с виду пустые: в них нет пробелов, нет переносов на строки, никаких символов, нет объектов, условного форматирования, в настройках не стоит скрывать нули(Файл -Параметры -Дополнительно -Показывать нули в ячейках, которые содержат нулевые значения). Даже если перейти в режим редактирования ячейки - там пусто. Если попробовать...

Вставить в письмо Outlook таблицу Excel с форматированием

Про создание писем в Outlook через Visual Basic for Applications(VBA) Excel я уже писал пару статей, в том числе и о том, как вставить одну из стандартных подписей в письмо - Вставить в письмо подпись из Outlook через VBA(по умолчанию при создании писем из VBA подпись не вставляется, даже если это настроено параметрами почты). Но т.к. отправка происходит из Excel, то часто возникает и другой вопрос - как в письмо вставить не просто текст, а целую таблицу? Да еще со всем форматированием ячеек? Если речь о ручной вставке, то тут все просто: скопировали диапазон, перешли в письмо -...

Как из VBA выбрать и установить принтер для Excel

Основная задача кодов Visual Basic for Applications - автоматизация. И задачи зачастую бывают самые разные. Одна из таких задач - печать листов или ячеек по условию или в цикле. Сама по себе отправка на печать листа или диапазона не представляет сложностей, это легко можно записать макрорекордером и вставить в свой код. Выглядеть это будет примерно так: Visual Basic Sub Макрос1() ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False End Sub 123 Sub Макрос1()    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=FalseEnd Sub Но...

Как скачать файл из интернета по ссылке

Вся суть статьи уже в заголовке. Возникает порой необходимость скачивания файлов из интернета только на основании ссылки. Например, это какие-то постоянно меняющиеся данные или автоматически генерируемая другим кодом ссылка. Или еще более усугубленный вариант - строк 100 со ссылками на файлы, которые надо скачать...Вот уж радости руками по каждой клацать :) Поэтому выкладывают решение, которое в большинстве случае поможет при помощи Visual Basic for Applications скачать файл на основании ссылки URL: Visual...

Подбор высоты строки/ширины столбца объединенной ячейки

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

Вставить в письмо подпись из Outlook через VBA

Последнее время стал часто встречать вопрос о том, как в письмо, созданное кодом VBA в Excel, добавить стандартную подпись Outlook. Немного теории для тех, кто не знает как создать и использовать подписи в Outlook. Дело в том, что в Outlook можно создавать несколько подписей и какую-то использовать по умолчанию, а остальные можно вставлять в письмо по необходимости. Чтобы создать подпись в Excel 2007 и выше необходимо перейти в меню: для 2007: Сервис -Параметры -Сообщение -Подписи для 2010 и выше: Файл(File) -Параметры(Options) -Почта(Mail) -Подписи(Signatures) В появившемся окне на...

Видимое значение ячейки в реальное

Часто из всем известной 1С отчеты выгружаются в Excel. Что не удивительно, ведь многие используют 1С как базу ведения всевозможных данных, а анализ предпочитают производить в Excel. И это удобно, это работает. Но часто при получении файла из 1С форматы ячеек изменены так, что отображается в ячейках одно значение, а на деле там значение совершенно иное: Чтобы не возникло недопонимания, что это такое на картинках выше. Например, если в ячейку записать число 1077, то оно и отобразится так же. Однако его визуальное отображение в ячейках можно изменить:...

Как в ячейке с формулой вместо ошибки показать 0

Случаются ситуации, когда в рабочей книге на листах создано много формул, выполняющих различные задачи. При этом формулы созданы когда-то давно, возможно даже на вами. И формулы возвращают ошибки. Например #ДЕЛ/0!(#DIV/0!). Эта ошибка возникает, если внутри формулы происходит деление на ноль: =A1/B1, где в B1 ноль или пусто. Но могут быть и другие ошибки(#Н/Д, #ЗНАЧ! и т.д.). Можно изменить формулу, добавив проверку на ошибку: =ЕСЛИ(ЕОШ(A1/B1);0; A1/B1) =IF(ISERR(A1/B1),0, A1/B1) аргументы: =ЕСЛИ(ЕОШ(1 аргумент);2 аргумент; 1 аргумент) Эти формулы будут работать в любой версии Excel....

Страница 1 из 512345

Тренинги

Заказать
Наши партнеры
Перейти
Перейти
Счетчики
Анализ сайта

Яндекс.Метрика
© 2017 Excel для всех  Войти
Авторизация
*
*
Регистрация
*
*
*
Пароль не введен
*
captcha
Генерация пароля