- •Введение
- •Раздел 1. Использование инструментария excel для решения экономических задач
- •1.1. Назначение и классификация электронных таблиц
- •1.2. Критерии качества разработки электронной таблицы
- •1.3. Понятие функции
- •1.4. Ввод функции
- •1.5. Встроенные функции
- •1.5.1. Категории встроенных функций
- •1.5.2. Математические функции
- •1.5.3. Логические функции
- •1.5.4. Ссылки и массивы
- •1.6. Типы ошибок в формулах Excel
- •1.7. Связывание и консолидация рабочих таблиц
- •1.7.1. Понятие и назначение связывания
- •1.7.2. Создание формул с внешними ссылками
- •1.7.3. Создание формулы со связью путем указания
- •1.7.4. Создание формулы с помощью команды «Специальная вставка»
- •1.7.5. Исследование связей
- •1.7.6. Понятие консолидации
- •1.7.7. Консолидация рабочих таблиц с помощью формул
- •1.7.8. Использование команды «Специальная вставка»
- •1.7.9. Использование команды «Данные Консолидация»
- •1.8. Создание и использование формул массивов
- •1.8.1. Понятие формулы массива
- •1.8.2. Использование массивов констант
- •1.8.3. Примеры использования формул массивов
- •1.9. Форматы данных, поддерживаемые Excel
- •1.10. Импортирование данных
- •1.10.1. Обзор методов импортирования
- •1.10.2. Использование буфера обмена для ввода данных
- •1.10.3. Импортирование данных из файла, созданного в другом приложении
- •1.11. Работа со списками
- •1.11.1. Понятие списка
- •1.11.2. Планирование списка
- •1.11.3. Операции со списками
- •1.11.4. Ввод данных в список
- •1.11.5. Фильтрация списка
- •1.11.6. Сортировка списка
- •1.11.7. Создание промежуточных итогов
- •1.12. Анализ данных с помощью сводных таблиц
- •1.12.1. Понятие и назначение сводных таблиц
- •1.12.2. Создание и настройка сводной таблицы
- •1.12.3. Операции со сводными таблицами
- •1.13. Анализ данных с использованием надстроек Excel
- •1.13.1. Использование сценариев
- •1.13.2. Использование таблиц подстановки
- •1.13.3. Диспетчер сценариев
- •1.13.4. Процедура «Подбор параметра»
- •1.13.5. Процедура «Поиск решения»
- •1.13.6. Анализ данных с помощью инструментов «Пакета анализа»
- •1.14. Базовые сведения о vba
- •1.14.1. Возможности vba
- •1.14.2. Понятие об объектной модели
- •1.14.3. Основные принципы программирования на vba
- •1.15. Интегрированная среда разработки
- •1.15.1. Работа с макрорекордером
- •1.15.2. Редактор vba
- •1.15.3. Окно проекта
- •1.15.4. Окно редактирования кода
- •1.15.5. Окно форм
- •1.15.6. Окно свойств
- •1.15.7. Окно просмотра объектов
- •1.16. Отладка программ
- •1.16.1. Типы ошибок при отладке программ
- •1.16.2. Ошибки компиляции
- •1.16.3. Ошибки выполнения
- •1.16.4. Логические ошибки
- •1.16.5. Пошаговое выполнение программ
- •1.16.6. Точки прерывания
- •1.16.7. Вывод значений свойств и переменных
- •1.17. Основы программирования на vba
- •1.17.1. Типы данных и переменные
- •1.17.2. Описание переменных
- •1.17.3. Преобразование типов данных
- •1.17.4. Константы
- •1.17.5. Работа с массивами
- •1.17.6. Процедуры и функции
- •1.17.7. Управляющие операторы
- •1.17.8. Условный оператор
- •1.17.9. Оператор выбора
- •1.17.10. Операторы цикла
- •1.17.11. Оператор With
- •Раздел 2. Использование функций excel в экономических расчетах
- •2.1. Совместное использование логических функций
- •2.2. Учет доходов за обучение
- •2.3. Использование функции суммесли
- •2.4. Использование смешанных ссылок
- •2.5. Расчет итогов с условием
- •2.6. Учет расходов и налогов с накоплением
- •2.7. Использование формул массивов
- •2.7.1. Вычисление среднего отклонения
- •2.7.2. Вычисление квадратного корня
- •2.7.3. Вычисление среднего положительных чисел
- •2.7.4. Транспонирование матрицы
- •2.7.5. Умножение матриц
- •2.7.6. Умножение матрицы на транспонированный вектор
- •2.8. Использование консолидации данных
- •Раздел 3. Планирование на малых и средних предприятиях средствами excel
- •3.1. Постановка задачи
- •3.2. Предплановые расчеты
- •3.2.1. Построение начального варианта плана производства
- •3.2.2. Расчет критического объема выпуска
- •3.3. Планирование наличия мощности
- •3.3.1. Расчет действительного фонда времени работы оборудования
- •3.3.2. Расчет планового фонда времени рабочих
- •3.4. Планирование потребности в мощности
- •3.5. Планирование потребности в материалах
- •3.6. Планирование численности персонала
- •3.7. Планирование фонда оплаты труда
- •3.8. Планирование себестоимости товарной продукции
- •3.9. Планирование прибыли и рентабельности
- •Раздел 4. Импортирование данных в ms еxcel из внешних источников
- •4.1. Основные теоретические сведения
- •4.2. Использование надстройки ms Query для импортирования в ms Excel данных, созданных в субд Access
- •4.2.1. Постановка задачи
- •4.2.2. Создание в ms Query нового источника данных
- •4.2.3. Создание и сохранение запросов в ms Query
- •4.2.4. Выполнение созданных и сохраненных запросов. Перенос результатов их выполнения на отдельные листы ms Excel
- •4.2.5. Помещение результатов выполнения запросов в сводную таблицу ms Excel
- •1 Способ
- •2 Способ
- •4.2.6. Задания для самопроверки
- •4.3. Задания для самостоятельной работы
- •Раздел 5. Использование надстройки ms excel «поиск решения» в экономических расчетах
- •5.1. Основные теоретические сведения
- •5.2. Применение средства Поиск решения для определения оптимального количества выпускаемых изделий с максимальной прибылью
- •5.2.1. Постановка задачи
- •5.2.2. Последовательность решения задачи в среде ms Excel
- •5.2.3. Контрольные вопросы
- •5.3. Задачи для самостоятельного решения
- •Раздел 6. Введение в vba для excel
- •6.1. Интегрированная среда разработки vba для Excel
- •6.1.1. Создание функции пользователя в vba
- •6.1.2. Редактор vba
- •6.1.3. Структура кода функции пользователя
- •6.1.4. Простейшая функция пользователя
- •6.1.5. Вычисление стоимости партии продаваемых книг при помощи пользовательской функции
- •6.1.6. Использование ссылок на диапазоны в качестве параметров пользовательских функций
- •6.1.7. Панель инструментов «Элементы управления»
- •6.1.8. Работа с макрорекордером
- •6.1.9. Структура кода процедуры
- •6.1.10. Процедура обработки события
- •6.1.11. Элемент управления «Кнопка» и создание процедуры обработки события
- •6.1.12. Построение шаблона таблицы
- •6.1.13. Управление диаграммой
- •6.2. Создание диалоговых окон на vba
- •6.2.1. Общие сведения и применение
- •6.2.2. Встроенные диалоговые окна
- •6.2.3. Создание пользовательских диалоговых окон
- •6.2.4. Создание вкладок в диалоговых окнах
- •6.2.5. Добавление дополнительных элементов управления
- •6.2.6. Создание диалогового окна
- •6.2.7. Разработка процедур, обрабатывающих события диалогового окна и его устройств
- •6.2.8. Вызов собственного диалогового окна
- •6.2.9. Установка начальных значений свойств элементов управления
- •6.2.10. Модификация управляющих элементов во время работы
- •6.2.11. Управление доступом к элементу
- •6.2.12. Перемещение фокуса на элемент управления
- •6.2.13. Изменение размеров диалогового окна
- •6.2.14. Проверка корректности данных
- •6.2.15. Сохранение данных перед выходом из диалогового окна
- •6.2.16. Закрытие диалогового окна
- •6.3. Примеры макросов
- •6.3.1. Объектная модель Excel
- •6.3.2. Коллекция Workbooks
- •6.3.3. Коллекция Sheets
- •6.3.4. Использование объекта Range
- •6.3.5. Обработка ошибок vba
- •6.3.6. Чтение и запись текстовых файлов
- •6.3.7. Работа с папками
- •Список рекомендуемой литературы
- •Раздел 1. Использование инструментария excel для решения экономических задач 4
- •Раздел 2. Использование функций excel в экономических расчетах 54
- •Раздел 3. Планирование на малых и средних предприятиях средствами excel 69
- •Раздел 4. Импортирование данных в ms еxcel из внешних источников 87
- •Раздел 5. Использование надстройки ms excel «поиск решения» в экономических расчетах 101
- •Раздел 6. Введение в vba для excel 117
- •246029, Г. Гомель, просп. Октября, 50.
- •246029, Г. Гомель, просп. Октября, 50.
6.1.12. Построение шаблона таблицы
Предположим, что каждый месяц составляется таблица учета расходов (рис. 6.9).
Рис. 6.9. Шаблон таблицы расходов
Можно облегчить подготовительную работу, автоматизировав процесс создания шаблона таблицы, в которую останется только ввести данные. Как всегда, при написании кода поможет макрорекордер.
Для построения шаблона таблицы нужно выполнить следующие действия:
1. Запустить макрорекордер на выполнение выбором команды Сервис Макрос Начать запись.
2. Выбрать ячейку В1 и ввести в нее Расходы.
3. Выбрать ячейку А2 и ввести в нее Телефон.
4. Выбрать ячейку A3 и ввести в нее Аренда.
5. Выбрать ячейку А4 и ввести в нее Амортизация.
6. Выбрать ячейку А5 и ввести в нее Страховка.
7. Выбрать ячейку А6 и ввести в нее Заработная плата.
8. Выбрать ячейку А7 и ввести в нее Итого.
9. Выбрать ячейку В7 и ввести в нее любым способом формулу =СУММ(В2:В6).
10. Выбрать столбец А и команду Формат Столбец Автоподбор ширины.
11. Завершить работу макрорекордера выбором команды Сервис Макрос Остановить запись.
В результате на листе стандартного модуля будет записан следующий макрос:
Sub Макрос1()
' Макрос1 Макрос
' Макрос записан 18.04.2006
Range("B1").Select
ActiveCell.FormulaR1C1 = "Расходы"
Range("A2").Select
ActiveCell.FormulaR1C1 = "Телефон"
Range("A3").Select
ActiveCell.FormulaR1C1 = "Аренда"
Range("A4").Select
ActiveCell.FormulaR1C1 = "Амортизация"
Range("A5").Select
ActiveCell.FormulaR1C1 = "Страховка"
Range("A6").Select
ActiveCell.FormulaR1C1 = "Заработная плата"
Range("A7").Select
ActiveCell.FormulaR1C1 = "Итого"
Range("B7").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)
Columns("A:A").Select
Selection.Columns.AutoFit
End Sub
Рассмотрим, как из этого непропорционально длинного (по сравнению с проделанной работой) и неказистого макроса составить разумный код для создания шаблона отчета. Первые четырнадцать строк кода макроса осуществляют попарно ввод текстовой информации в выбранные ячейки рабочего листа. Имеет смысл каждую из этих пар инструкций заменить одной.
Например, вместо
Range("B1").Select
ActiveCell.FormulaR1C1 = "Расходы"
можно ограничиться только инструкцией
Range("B1").Value = "Расходы"
Следующие две инструкции реализуют ввод формулы =СУММ(В2:В6) в ячейку B7. При этом в макросе эта формула записана в относительном формате R1C1, что выглядит совсем не к месту:
Range("B7").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)
Разумно эти две инструкции заменить только одной, используя формат А1 и формулу локальной версии:
Range("B7").FormulaLocal = "=СУММ(В2:В6)"
Последние две инструкции макроса реализуют автоматический подбор ширины столбца А так, чтобы в нем помещались все введенные в него строки текста:
Columns("A:A").Select
Selection.Columns.AutoFit
Целесообразно сократить код, заменив эти две инструкции одной:
Columns("A:A").AutoFit
Кроме того, для пользователя было бы удобно, чтобы имя рабочего листа совпадало с названием месяца, за который составляется отчет. Поэтому будет целесообразно в процедуре добавить инструкции, которые привели бы к отображению на экране диалогового окна, предлагающего изменить название листа. Если пользователь соглашается с этим предложением, то он вводит в поле ввода появившегося диалогового окна новое имя рабочего листа и нажимает на кнопку ОK, а процедура сама уж переименует лист.
Итак, код окончательного варианта процедуры составления шаблона прозрачен, он состоит всего из нескольких инструкций и, что важно, значительно более функционален, чем макрос, на основе которого он был составлен:
Sub ChartBuilder()
Dim sheetName As String
sheetName = InputBox("Введите имя листа")
If sheetName <> Empty Then
ActiveSheet.Name = sheetName
End If
Range("B1").Value = "Расходы"
Range("A2").Value = "Телефон"
Range("A3").Value = "Аренда"
Range("A4").Value = "Амортизация"
Range("A5").Value = "Страховка"
Range("A6").Value = "Заработная плата"
Range("A7").Value = "Итого"
Range("B7").FormulaLocal = "=СУММ(В2:В6)"
Columns("A:A").AutoFit
End Sub
