Visual Basic for Applications. Практика. Нагина Е.К - 15 стр.

UptoLike

Составители: 

15
Задача 2.4. Торговая фирма «Шанс» занимается продажей компью-
терной техники и ведет учет всех торговых операций, связанных с ее про-
дажами. С этой целью на рабочем листе Excel с именем «Торговые опера-
ции» активной рабочей книги в столбцах с А по С создается списокбаза
данных в миниатюре. В ячейке A1 размещается
заголовок исходного спи-
ска «Информация о продажах». Список начинается со второй строки. Вто-
рая строка содержит названия полей списка: «Код товара», «Дата про-
дажи», «Объем продаж в рублях». Заголовки полей списка выделены
жирным шрифтом и расположены по центру, размер шрифта 16. Каждая
последующая строка содержит трехзначный код проданного товара, дату в
формате даты, например, 1.12.2009 и размер сделки в денежном формате.
Данные о продажах отсортированы по дате продаж. На основе этого спи-
ска нужно определить количество проданного товара каждого наименова-
ния, общее количество наименований проданных товаров, суммарный объ-
ем продаж каждого наименования товара и общую сумму, вырученную от
продаж компьютерной техники. На
основе этих результатов формируется
новый список. В ячейке Е1 размещается заголовок нового списка «Свод-
ные данные о продажах», а во второй строке столбцов с E по G распола-
гаются названия полей списка: «Код товара», «Количество продаж каж-
дого наименования», «Суммарный объем продаж в рублях каждого наиме-
нования» соответственно.
Полученные результаты размещаются в столб-
цах с E по G нового списка, начиная с третьей строки, и сортируются по
убыванию объемов продаж.
Оформить решение данной задачи процедурой TradeOperations, ко-
торая выполняет все описанные выше действия. Запуск процедуры офор-
мить кнопкой на рабочем листе там же, где расположены списки. Для за-
пуска
процедуры щелкнуть на кнопке. В результате будет выдано сообще-
ние о том, сколько было продано товаров из базы данных и общая сумма
выручки от продаж компьютерной техники. Кроме того, будет создан но-
вый список, о котором было сказано выше.
Алгоритм решения задачи.
Основной конструкцией программы является цикл, просматривающий
коды товаров
из столбца А, которые хранятся в массиве CodesData. Этот цикл
используется для создания массива CodesFound. В итоге полученный массив
будет содержать уникальные коды товаров, указанные в столбце А. В каждой
итерации цикла код товара сравнивается со всеми уже найденными кодами
товаров. Если код был найден ранее, то к количеству продаж этого
товара
добавляется 1, а стоимость проданного товара добавляется к общей стоимо-
сти товара с данным наименованием. В противном случае, если код товара
ранее не был найден, то он добавляется к массиву CodesFound, а количество
продаж этого товара устанавливается равным 1. Объем продаж товара при-
нимает значение, равное стоимости текущей операции. Три других
массива
помогают в ведении учета. Массив VolData содержит данные из столбца С, а
      Задача 2.4. Торговая фирма «Шанс» занимается продажей компью-
терной техники и ведет учет всех торговых операций, связанных с ее про-
дажами. С этой целью на рабочем листе Excel с именем «Торговые опера-
ции» активной рабочей книги в столбцах с А по С создается список – база
данных в миниатюре. В ячейке A1 размещается заголовок исходного спи-
ска «Информация о продажах». Список начинается со второй строки. Вто-
рая строка содержит названия полей списка: «Код товара», «Дата про-
дажи», «Объем продаж в рублях». Заголовки полей списка выделены
жирным шрифтом и расположены по центру, размер шрифта 16. Каждая
последующая строка содержит трехзначный код проданного товара, дату в
формате даты, например, 1.12.2009 и размер сделки в денежном формате.
Данные о продажах отсортированы по дате продаж. На основе этого спи-
ска нужно определить количество проданного товара каждого наименова-
ния, общее количество наименований проданных товаров, суммарный объ-
ем продаж каждого наименования товара и общую сумму, вырученную от
продаж компьютерной техники. На основе этих результатов формируется
новый список. В ячейке Е1 размещается заголовок нового списка «Свод-
ные данные о продажах», а во второй строке столбцов с E по G распола-
гаются названия полей списка: «Код товара», «Количество продаж каж-
дого наименования», «Суммарный объем продаж в рублях каждого наиме-
нования» соответственно. Полученные результаты размещаются в столб-
цах с E по G нового списка, начиная с третьей строки, и сортируются по
убыванию объемов продаж.
      Оформить решение данной задачи процедурой TradeOperations, ко-
торая выполняет все описанные выше действия. Запуск процедуры офор-
мить кнопкой на рабочем листе там же, где расположены списки. Для за-
пуска процедуры щелкнуть на кнопке. В результате будет выдано сообще-
ние о том, сколько было продано товаров из базы данных и общая сумма
выручки от продаж компьютерной техники. Кроме того, будет создан но-
вый список, о котором было сказано выше.
      Алгоритм решения задачи.
      Основной конструкцией программы является цикл, просматривающий
коды товаров из столбца А, которые хранятся в массиве CodesData. Этот цикл
используется для создания массива CodesFound. В итоге полученный массив
будет содержать уникальные коды товаров, указанные в столбце А. В каждой
итерации цикла код товара сравнивается со всеми уже найденными кодами
товаров. Если код был найден ранее, то к количеству продаж этого товара
добавляется 1, а стоимость проданного товара добавляется к общей стоимо-
сти товара с данным наименованием. В противном случае, если код товара
ранее не был найден, то он добавляется к массиву CodesFound, а количество
продаж этого товара устанавливается равным 1. Объем продаж товара при-
нимает значение, равное стоимости текущей операции. Три других массива
помогают в ведении учета. Массив VolData содержит данные из столбца С, а
                                   15