Книги для изучения Excel и VBA. Эксель вба
Excel для всех | Excel
- Главная
- Мои программы
- Ошибка - "Component COMDLG32.OCX..."
- Управление безопасностью макросов
- Подключение/отключение надстроек
- Копирование модулей и форм
- Мои надстройки
- Выделение строки и столбца при выделении ячейки
- Надстройка для суммирования ячеек по цвету заливки или шрифта
- Подсчет и сумма FiFo и LiFo
- Замена и перемещение аббревиатур
- Работа с колонтитулами
- Панель иконок FaceID
- Замена УФ обычным
- Сменить стиль ссылок
- Список листов книги
- Плагины
- Функции Excel
- Функции баз данных
- Функции даты и времени
- Инженерные функции
- Финансовые функции
- Проверка свойств и значений
- Логические функции
- Ссылки и массивы
- Математические функции
- Статистические функции
- Текстовые функции
- Функции VBA
- Работа с массивами
- Заменители синтаксических конструкций
- Дата и время
- Работа с текстом
- Работы с числами
- Файловые функции
- Прочие
- Книги
- Ссылки
- Использование материалов сайта
- Мои программы
- Хитрости
- Тренинги
- Азы Excel
- РАБОТА С ТАБЛИЦАМИ
- УВЕРЕННЫЙ ПОЛЬЗОВАТЕЛЬ
- РАБОТА В POWER QUERY
- ФОРМУЛЫ МАССИВА
- VBA – НАЧАЛЬНЫЙ КУРС
- ПРОГРАММИРОВАНИЕ В VBA
- MulTEx
- Список команд MulTEx
- Приобретение MulTEx
- Часто задаваемые вопросы
- Разработка
- Выполненные проекты
- Форум
- Блог
- Контакты
Вход/Регистрация
- Отправляйте письма по своим спискам рассылок в два клика!
- Наш опыт - залог Вашего успеха! Обучающие тренинги в Excel
- Курс валют от центробанка на любую дату
- Суммировать данные по условию со всех листов книги
www.excel-vba.ru
Книги для изучения Excel и VBA
Главная » 10 Май 2011 Дмитрий 165103 просмотровСодержание этой страницы полностью соответствует названию. Здесь я буду выкладывать книги для изучения Excel и VBA, различные справочники или ссылки на ресурсы, с которых подобные справочники и книги можно скачать. Выложенные пособия могут пригодиться не только начинающим изучать Excel и VBA, но и более продвинутым пользователям.
Справочник по функциям листа Excel - это справочник по функциям листа Excel в формате справки Windows .chm. Файл содержит полный перечень функций листа Excel на русском и английском языках и снабжена примерами использования и применения функций. Справочник может понадобиться как начинающим, так и уже более искушенным пользователям.
Формат файла: .chm
Скачать
Справочник по функциям листа Excel (532,2 KiB, 15 352 скачиваний)У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.
VBA Программирование в MSOffice - очень хороший учебник для начинающих программировать в VBA. Книга написана сертифицированным преподавателем Microsoft Office доступным для понимания языком, снабжена грамотными листингами кодов. Учебник поможет освоить программирование не только в Microsoft Excel, но и Microsoft Word и Microsoft Project.
Формат файла: .pdf
Скачать
VBA Программироваие в MSOffice (4,1 MiB, 26 546 скачиваний)У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.
Уокенбах Дж. Профессиональное программирование в VBA Excel 2003 - пожалуй самый популярный учебник для начинающих. Многие начинали именно с него. Правда, в печатной версии данного учебника использованы листинги кодов, которые не всегда нужно принимать на веру - очень часто там встречаются опечатки и вместо английских символом встречаются русские. Поэтому лично я бы посоветовал не копировать коды напрямую из книги, а переписывать их вручную в редакторе VBA. Так и запомнится лучше и избавите себя от поиска ошибок.
Формат файла: .pdf
Ссылка удалена по требованию правообладателя
Office 2007. Самоучитель - Если Вы решили поближе познакомиться с интерфейсом и основными возможностями приложений Microsoft Office, то советую почитать данную книгу. В ней описано все необходимое для успешной
VBA в Excel
VBA в Excel
VBA в Excel
Программирование в Excel с помощью VBA.
Язык VBA позволяет писать макросы в Excel. Как это делать рассматривается ниже.
Application
Application – это объект, занимающий вершину иерархии объектов в Excel. Application – это и есть Excel. Вот примеры использования Application:
окно нормальных размеров
Application.WindowState = xlNormal
окно максимальных размеров
Application.WindowState = xlMaximized
Workbooks
Workbooks – это коллекция рабочих книг, которые открыты. Каждая рабочая книга представлена объектом Workbook. Узнать сколько рабочих книг сейчас в коллекции можно так:
Dim bookCount As IntegerbookCount = Workbooks.CountMsgBox ("Opened books = " & bookCount)
Обатиться к нужной рабочей книге в коллекции Workbooks можно обратиться по его номеру или по имени:
Workbooks.Item(2).Activate
здесь мы активизировали второй элемент коллекции Workbooks.
Другие примеры мы увидим ниже.
Workbook
Workbook – это рабочая книга.
Сохранить рабочую книгу:
Workbooks.Item(1).Save
И где же в этом примере рабочая книга Workbook? Здесь: Workbooks.Item(1), это выражение возвращает первый элемент коллекции Workbooks, а это и есть Workbook.
Закрыть рабочую книгу:
Workbooks.Item(1).Close
Sheets
Sheets – это все листы рабочей книги. Листы рабочей книги представлены двумя типами: рабочие листы – это обычные листы Excel и второй тип – это листы диаграмм. Те и другие и составляют коллекцию Sheets.
Charts
Charts – это только диаграммы рабочей книги.
Chart
Chart – это объект, представляющий одину диаграмму. Если диаграмма содержится в обычном рабочем листе, то она объектом Chart не является.
Worksheets
Worksheets – это только рабочие листы рабочей книги.
Добавим рабочий лист в коллекцию Worksheets:
Worksheets.Add
Worksheet
Worksheet – это один лист рабочей книги Excel.
Все ячейки рабочего листа Worksheet:
Worksheets("Лист1").Cells
Range. Работа с ячейками в Excel
Range – это одна ячейка листа или несколько ячеек. Этот объект рассмотрим подробнее. Установим кнопку на рабочий лист Excel. Откройте панель инструментов «Элементы управления» (правой кнопкой по свободному полю панели инструментов и выбираем из выпавшего меню). В этой панели выбираем кнопку и устанавливаем её на свободное место рабочего листа, в его правой части. Правой кнопкой мыши по нашей кнопке - > Свойства. Установите значение свойства Name – CommandButton, а свойства Caption - Range Test.
Получаем:
Закройте окно свойств кнопки, и кликаем по нашей кнопке правой кнопкой мыши, из выпавшего меню выбираем «Исходный текст». Открывается окно редактора VBA, оно называется Microsoft Visual Basic. В нём уже есть заготовка обработчика нажатия на кнопку CommandButton:
Private Sub CommandButton_Click()End Sub
Кстати, помотрите на эту заготовку, ключевое слово Sub говорит, что это процедура, а слово Private указывает, что эта процедура видна лишь в данном модуле.
Всё у нас готово для начала изучения работы с ячейками рабочего листа Excel.
Как задать активную ячейку?
Сделаем активной ячейку A2:A2:
Private Sub CommandButton_Click() Range("A2:A2").ActivateEnd Sub
Далее сохраняем, далее Debug - > Compile VBA Project. Если нет ошибок, то запускаем нашу программу: Run - > Run Sub/UserForm.
Получаем:
Выделим любую другую ячейу и нажимём на кнопку Range Test. Вновь выделится ячейка «А2». Это значит, что обработчик нажатия на кнопку работает исправно.
Как выделить ряд ячеек?
Выделим интервал ячеек «A2:D2». Вносим в нашу заготовку макроса новый код:
Private Sub CommandButton_Click() Range("A2:D2").SelectEnd Sub
Далее сохраняем, далее Debug - > Compile VBA Project. Переходим на рабочий лист Excel и жмем на кнопку Range Test.
Получаем:
Как установить значение в ячейку?
Внесем число 123 в ячейку "A2:A2" для этого изменим код макроса так:
Private Sub CommandButton_Click() Range("A2:A2").Value = 123End Sub
Далее сохраняем, далее Debug - > Compile VBA Project. Переходим на рабочий лист Excel и жмем на кнопку Range Test.
Получаем:
Это результат работы.
www.sbp-program.ru
VBA Excel. Цикл For Each... Next
Цикл For Each... Next в VBA Excel, его синтаксис и описание отдельных компонентов. Примеры использования цикла For Each... Next.
Цикл For Each... Next в VBA Excel предназначен для выполнения блока операторов по отношению к каждому элементу из группы элементов (диапазон, массив, коллекция). Этот замечательный цикл применяется, когда неизвестно количество элементов в группе и их индексация, в противном случае, более предпочтительным считается использование цикла For...Next.
- Синтаксис цикла For Each... Next
- Компоненты цикла For Each... Next
- Примеры циклов For Each... Next
Синтаксис цикла For Each... Next
For Each element In group [ statements ] [ Exit For ] [ statements ] Next [ element ]В квадратных скобках указаны необязательные атрибуты цикла For Each... Next.
Компоненты цикла For Each... Next
Компонент | Описание |
element | Обязательный атрибут в операторе For Each, необязательный атрибут в операторе Next. Представляет из себя переменную, используемую для циклического прохода элементов группы (диапазон, массив, коллекция), которая предварительно должна быть объявлена с соответствующим типом данных*. |
group | Обязательный атрибут. Группа элементов (диапазон, массив, коллекция), по каждому элементу которой последовательно проходит цикл For Each... Next. |
statements | Необязательный** атрибут. Операторы вашего кода. |
Exit For | Необязательный атрибут. Оператор выхода из цикла до его окончания. |
*Если цикл For Each... Next используется в VBA Excel для прохождения элементов коллекции (объект Collection) или массива, тогда переменная element должна быть объявлена с типом данных Variant, иначе цикл работать не будет.
**Если не использовать в цикле свой код, смысл применения цикла теряется.
Примеры циклов For Each... Next
Цикл для диапазона ячеек
На активном листе рабочей книги Excel выделите диапазон ячеек и запустите на выполнение следующую процедуру:
Sub test1() Dim element As Range, a As String a = "Данные, полученные с помощью цикла For Each... Next:" For Each element In Selection a = a & vbNewLine & "Ячейка " & element.Address & _ " содержит значение: " & CStr(element.Value) Next MsgBox a End SubЦикл для коллекции листов
Скопируйте следующую процедуру в стандартный модуль книги Excel:
Sub test2() Dim element As Worksheet, a As String a = "Список листов, содержащихся в этой книге:" For Each element In Worksheets a = a & vbNewLine & element.Index _ & ") " & element.Name Next MsgBox a End SubИнформационное окно MsgBox выведет список наименований всех листов рабочей книги Excel по порядковому номеру их ярлычков, соответствующих их индексам.
Цикл для массива
Присвоим массиву список наименований животных и в цикле For Each... Next запишем их в переменную a. Информационное окно MsgBox выведет список наименований животных из переменной a.
Sub test3() Dim element As Variant, a As String, group As Variant group = Array("бегемот", "слон", "кенгуру", "тигр", "мышь") 'или можно присвоить массиву значения диапазона ячеек 'рабочего листа, например, выбранного: group = Selection a = "Массив содержит следующие значения:" & vbNewLine For Each element In group a = a & vbNewLine & element Next MsgBox a End SubЭтот код, как и все остальные в этой статье, тестировался в Excel 2016.
Цикл для коллекции подкаталогов и выход из цикла
В этом примере мы будем добавлять в переменную a названия подкаталогов на диске C вашего компьютера. Когда цикл дойдет до папки Program Files, он добавит в переменную a ее название и сообщение: «Хватит, дальше читать не буду! С уважением, Ваш цикл For Each... Next.».
Sub test5() Dim FSO As Object, myFolders As Object, myFolder As Object, a As String 'Создаем новый FileSystemObject и присваиваем его переменной "FSO" Set FSO = CreateObject("Scripting.FileSystemObject") 'Извлекаем список подкаталогов на диске "C" и присваиваем 'его переменной "myFolders" Set myFolders = FSO.GetFolder("C:\") a = "Папки на диске C:" & vbNewLine 'Проходим циклом по списку подкаталогов и добавляем в переменную "a" 'их имена, дойдя до папки "Program Files", выходим из цикла For Each myFolder In myFolders.SubFolders a = a & vbNewLine & myFolder.Name If myFolder.Name = "Program Files" Then a = a & vbNewLine & vbNewLine & "Хватит, дальше читать не буду!" _ & vbNewLine & vbNewLine & "С уважением," & vbNewLine & _ "Ваш цикл For Each... Next." Exit For End If Next Set FSO = Nothing MsgBox a End SubИнформационное окно MsgBox выведет список наименований подкаталогов на диске C вашего компьютера до папки Program Files включительно и сообщение цикла о прекращении своей работы.
В результате работы программы будут выведены не только наименования подкаталогов, видимых при переходе в проводнике к диску C, но и скрытые и служебные папки. Для просмотра списка всех подкаталогов на диске C, закомментируйте участок кода от If до End If включительно и запустите выполнение процедуры в редакторе VBA Excel.
vremya-ne-zhdet.ru
Файловые функции VBA | Excel для всех
Вход/Регистрация
Главная » Функции VBA » 28 Апрель 2011 Дмитрий 53144 просмотров- CurDir() - функция, которая возвращает путь к каталогу(для указанного диска), в котором по умолчанию будут сохраняться файлы:
Dim sCurDir As String sCurDir = CurDir("D") Dim sCurDir As String sCurDir = CurDir("D")
- Dir() — позволяет искать файл или каталог по указанному пути на диске. Пример использования можно посмотреть в статье: Просмотреть все файлы в папке
- EOF() — при операции записи в файл на диске эта функция вернет True, если вы находитесь в конце файла. Обычно используется при работе с текстовыми файлами — .txt. При сохранении книг Excel лучше использовать стандартные методы: Save и SaveAs.
- Error() - позволяет вернуть описание ошибки по ее номеру. Генерировать ошибку нужно при помощи метода RaiseError() специального объекта Er.
- Print - записывает в открытый файл указанный текст. Далее будет приведен пример использования данной функции
- FreeFile() — позволяет определить номер следующего свободного файла, который можно использовать как номер файла при его открытии методом Open. Предпочтительно применять именно этот метод определения номера файла(вместо статичного #1), чтобы не было неоднозначности обращения к файлам. Ниже приведены примеры применения данной функции при обращении к файлам
- FileAttr() — позволяет определить, как именно был открыт файл в файловой системе: на чтение, запись, добавление, в двоичном или текстовом режиме и т.п. Применяется для работы с текстовыми файлами, открытыми при помощи Open "C:\Text1.txt" For [] As #1Открыть файл можно несколькими способами, приведу примеры наиболее распространенных вариантов:
- Input() — открывает текстовый файл на чтение. Т.е. таким методом можно открыть файл и вытянуть из него данные. Например, чтобы считать информацию из файла C:Text1.txt и вывести ее в окно Immediate можно применить такой код:
Dim MyChar Open "C:\Text1.txt" For
- Input() — открывает текстовый файл на чтение. Т.е. таким методом можно открыть файл и вытянуть из него данные. Например, чтобы считать информацию из файла C:Text1.txt и вывести ее в окно Immediate можно применить такой код:
www.excel-vba.ru
VBA Excel - Хитрости работы с Excel – таблицы, функции, формулы, списки, рабочие книги, макросы
VBA – это серьезно упрощенная версия языка Visual Basic, которая была встроена в продукты Майкрософт (включая версии программ для операционной системы Макинтош). в частности, встроена VBA в Excel. Реализация языка Basic позволяет значительно расширить функциональность макроязыков, использующихся в Экзель.Несомненные достоинства VBA в Excel возможность быстрого овладения принципами работы с языком. Приложения VBA Excel могут создавать даже обычные пользователи. Однако, автономный код на данном языке создать не удастся, равно как и не удастся закрыть код, защитив от случайно внесенных изменений.
Применяется VBA в Excel, начиная с версии программы 5. VBA в Excel – самый простой путь, как автоматизировать определенную последовательность действий, что позволяет значительно экономить время работы предприятия. Производится запись макроса с помощью макрорекордера Екзель(или макрос пишется вручную) и затем данный язык делает всю работу за Вас.Чтобы активировать редактор VBA Excel, вам потребуется зайти в Сервисы, там найти Макросы и там – редактор Visual Basic (или воспользоваться горячими клавишами Alt+F11). В левой части открывшегося редактора находятся два окна – Свойства и Проект. В последнем расположено содержимое нынешнего проекта VBA в Excel. Открываем модуль (элемент данного языка), содержащий макросы: в Проекте открываем папку Модули(кликаем на плюсе слева от папки) и выбираем нужный нам модуль.
В списке объектов находятся объекты для данного элемента, к работе с которым Вы приступили. В окне Список процедур будет показан ряд функций и процедур, входящих в модуль.
Если же ранее написанного макроса нет, выполняйте Вставку => Модуль.
Чтобы записать командный макрос, курсор ставим в часть модуля, откуда будет идти запись макроса. Для начала макроса вводим слово Sub с пробелом и название самого макроса. Использования символов, кроме букв, цифр и андерлайна в названии макроса не употребляется. Затем нужно вводить операторы VBA Excel.
www.teachexcel.ru