«Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран: ... ... ... »

Именно так часто звучит задание на курсовую работу… Конечно, перед этой фразой идет описание исходных данных (по вариантам), т.е. ситуации, на основе которой вам необходимо будет создать базу данных Excel и заполнить ее начальными тестовыми данными…

После этой фразы тоже идет информация по вариантам: точное описание запросов, которые должна выполнить ваша VBA программа.

Макросы VBA Excel позволяют программировать любые действия с данными… Достаточно знать, где располагаются исходные данные (т.е. структуру БД) и что требуется получить на выходе…

Итак, допустим есть Условие (ситуация по варианту):

В коллективном хозяйстве имеется 7 бригад, выращивающих в течение 5 (и более) лет 7 фруктово-ягодных культур. (Каждая бригада специализируется на одной культуре). Выращенные фруктово-ягодные культуры затем продаются по ценам, меняющимся каждый год.

Поэтому на Листе «Данные» создается таблицу. Это и будет база данных (БД Excel). Ее можно расширять вниз, добавлять данные за следующие года… Но структуру изменять нельзя… Каждый год должен иметь по две строки: урожай в центнерах и цена в рублях.

Кроме того, необходимо отвести одну из ячеек (например: D28) для ввода номера года (последнего из 5 лет, по которым производится анализ). Это тоже данные для макроса, без которых он не сможет выполнять расчеты, т.к. не понятно, какие 5 лет учитывать…

И, конечно, надо позаботиться об исполнительной командной кнопке (разместить на листе), которая и будет вызывать макрос… Например, обозвать её: «Результаты анализа данных»… Макрос должен не только произвести нужные вычисления, сформировать отчет, но и перебросить пользователя на лист с результатами анализа…

БД Excel Плодово-ягодные культуры, выращивание бригадами
Рис.1        На Листе Excel "Данные" также расположены и средства запуска макроса

Далее, Условие (описание запросов…, то, что выводится на экран):

  1. исходные данные в виде таблицы, где перечислены названия бригад, наименование фруктово-ягодной культуры, количество собранного урожая за год (в центнерах), цена, по которой был продан урожай, выращенный одной бригадой;
  2. доход каждой бригады за 5 лет;
  3. доход всего хозяйства за 3(третий) год;
  4. наименование фруктово-ягодной культуры, принесшей наибольший доход за 5 лет;
  5. название бригады, получившей наименьший доход за 5 лет.

Решение:

Результаты анализа Отчет на Листе Excel Плодово-ягодные культуры, выращивание бригадами
Рис.2        Отчет "Результаты анализа" на Листе Excel средствами макроса VBA

Лист «Результаты анализа» заполняется макросом по щелчку левой кнопкой мыши по командной кнопке «Результаты анализа данных»

Вверху листа располагается таблица «Список бригад в коллективном хозяйстве», но это не вся БД, а только данные за пять лет. Если бы был указан для анализа 2008 год, то скопировались бы данные за 2003-2008 годы. Это ответ на первый вопрос задания

Далее, под заголовком «Анализ по результатам 2005 года» идут ответы на 2-5 вопросы задания.

Этот лист тоже имеет командную кнопку, но предназначена она лишь для очистки отчета…

VBA Макрос очистки может выглядеть так:

Sub ClearResult() 'очистить результаты
Set resL = Sheets("Результаты анализа")

resL.Cells(r2, c2 + 1).ClearContents 'очистка год анализа
resL.Range(resL.Cells(r2 + 3, c2 + 1), resL.Cells(r2 + 3, c2 + 5)).ClearContents 'очистка годов в шапке таблицы
resL.Range(resL.Cells(r2 + 4, c2), resL.Cells(r2 + 10, c2 + 6)).ClearContents 'очистка таблицы
resL.Cells(r2 + 12, c2 + 3).ClearContents
resL.Cells(r2 + 14, c2 + 3).ClearContents
resL.Cells(r2 + 16, c2 + 5).ClearContents


resL.Cells(r1 + 5, c1) = "" 'очистка годов в верхней таблице
resL.Cells(r1 + 7, c1) = ""
resL.Cells(r1 + 9, c1) = ""
resL.Cells(r1 + 11, c1) = ""
resL.Cells(r1 + 13, c1) = ""
resL.Range(resL.Cells(r1 + 2, c1 + 2), resL.Cells(r1 + 14, c1 + 8)).ClearContents 'очистка верхней таблицы

'освобождаю объектные переменные
Set resL = Nothing
End Sub

где r1, r2, c1, c2 целочисленные константы, обеспечивающие нужное расположение таблиц на листе...

Скачать файл для тестирования




При необходимости проконсультирую по Skype…

Другие примеры на тему «Автоматизация документов Microsoft Office Excel, Word, Access»

Другие примеры на языке «Visual Basic for application - VBA»

Другие варианты курсовой очень похожи на предыдущий… Проблем с их решением быть не должно…



Поделиться в соц сетях:




Если на этой странице не нашлось того, что Вы так искали...

         Не расстраивайтесь, не все потеряно... Смело щелкайте...

исходный код на заказ. orenstudent.ru Автоматизация документов MS Office. orenstudent.ru исходный код на заказ. orenstudent.ru Помогите найти и устранить ошибку в исходном коде программы. orenstudent.ru Skype-консультирование по программированию
Скайп-консультации

Акция !!!
исходный код комментарии цена минимальная


требуются
школьники!


и СТУДЕНТЫ!
Кому не плевать
на деньги!
Сайт помощи студентам по программированию и информатике

Program code