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

UptoLike

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

13
Задача 2.3. Написать процедуру поиска в списке, расположенном на
рабочем листе с именем «Цены» активной рабочей книги, кода товара,
введенного с клавиатуры, с выдачей на экран сообщения о цене введенного
товара. Если код не найден, то пользователю сообщается об отсутствии то-
вара в списке. Список состоит из двух полей: «Код товара
», «Цена едини-
цы товара». Количество записей заранее неизвестно. В ячейках А3 и В3
располагаются названия полей списка. Пример кода товара: П1203.
Порядок решения задачи.
1. Рабочему листу Лист3 присвоить имя «Цены».
2. В ячейках А3 и В3 разместить заголовки столбцов «Код товара» и «Це-
на единицы
товара» соответственно.
3. Заполнить список записями об имеющейся в продаже номенклатуре
(коде) товара и цене за единицу товара. Если конкретный товар отсутст-
вует в продаже, то в списке его нет.
4. Количество записей в списке должно быть от 15 до 20.
5. Перейти в режим редактора Visual Basic, выполнив команду Сервис /
Макрос / Редактор
Visual Basic.
6. Оформить решение задачи приложением. В процедуре SearchPrice
использовать массивы для хранения кодов товаров и цен за единицу то-
вара каждого вида. Сначала подсчитать общее количество товаров в
списке, затем определить размер массивов CodeGood и Price; в цикле
For эти массивы заполняются данными списка из столбцов А и В соот-
ветственно.
Далее у пользователя запрашивается код товара и еще в
одном цикле For просматривается массив CodeGood для поиска вве-
денного пользователем значения. Если код товара в массиве кодов това-
ров найден, то в переменной FindPrice сохраняется цена из массива
Price, соответствующая найденному коду, а логической переменной
Flag присваивается значение True. В зависимости от
значения этой пе-
ременной выдается сообщение либо о найденной цене, либо, если код
товара не найден, сообщение об отсутствии товара в списке товаров,
имеющихся в продаже.
7. Ввести программный код.
Sub SearchPrice()
Dim CodeGood () As String, Price () As _
Currency, FindPrice As Currency, _
Nproducts As Integer, i As Integer, _
Flag As Boolen, FindCode As String
Определяет количество записей в списке, переопреде-
ляет размер массивов и формирует массивы
With .ActiveWorkbook .Worksheets(“Цены”). _
Range(“A3”)
Nproducts=Range(.Offset(1,0),.End(xlDown)). _
Rows. Count
      Задача 2.3. Написать процедуру поиска в списке, расположенном на
рабочем листе с именем «Цены» активной рабочей книги, кода товара,
введенного с клавиатуры, с выдачей на экран сообщения о цене введенного
товара. Если код не найден, то пользователю сообщается об отсутствии то-
вара в списке. Список состоит из двух полей: «Код товара», «Цена едини-
цы товара». Количество записей заранее неизвестно. В ячейках А3 и В3
располагаются названия полей списка. Пример кода товара: П1203.
      Порядок решения задачи.
1. Рабочему листу Лист3 присвоить имя «Цены».
2. В ячейках А3 и В3 разместить заголовки столбцов «Код товара» и «Це-
   на единицы товара» соответственно.
3. Заполнить список записями об имеющейся в продаже номенклатуре
   (коде) товара и цене за единицу товара. Если конкретный товар отсутст-
   вует в продаже, то в списке его нет.
4. Количество записей в списке должно быть от 15 до 20.
5. Перейти в режим редактора Visual Basic, выполнив команду Сервис /
   Макрос / Редактор Visual Basic.
6. Оформить решение задачи приложением. В процедуре SearchPrice
   использовать массивы для хранения кодов товаров и цен за единицу то-
   вара каждого вида. Сначала подсчитать общее количество товаров в
   списке, затем определить размер массивов CodeGood и Price; в цикле
   For эти массивы заполняются данными списка из столбцов А и В соот-
   ветственно. Далее у пользователя запрашивается код товара и еще в
   одном цикле For просматривается массив CodeGood для поиска вве-
   денного пользователем значения. Если код товара в массиве кодов това-
   ров найден, то в переменной FindPrice сохраняется цена из массива
   Price, соответствующая найденному коду, а логической переменной
   Flag присваивается значение True. В зависимости от значения этой пе-
   ременной выдается сообщение либо о найденной цене, либо, если код
   товара не найден, сообщение об отсутствии товара в списке товаров,
   имеющихся в продаже.
7. Ввести программный код.
Sub SearchPrice()
   Dim CodeGood () As String, Price () As _
   Currency, FindPrice As Currency, _
   Nproducts As Integer, i As Integer, _
   Flag As Boolen, FindCode As String
‘ Определяет количество записей в списке, переопреде-
ляет размер массивов и формирует массивы
   With .ActiveWorkbook .Worksheets(“Цены”). _
          Range(“A3”)
     Nproducts=Range(.Offset(1,0),.End(xlDown)).    _
              Rows. Count
                          13