Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 [ 35 ] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

вычисляющая вероятность события. Эту формулу протаскиваем за маркер заполнения на диапазон F9: J9. Стоимость продукции вводится в ячейки D6 (Продажа), Е6 (Покупка) и F6 (Возврат) из диалоговых окон ввода (рис. 14.2) с помощью процедуры Сак, назначенной кнопке Start. Кроме того, процедура Start выводит найденные значения максимальной прибыли и оптимального объема закупки газет в диалоговое окно, представленное на рис. 14.2.

Sub CalcO

Dim г, V As Double

Range ("Продажа") .Value =

InputBox("Введите стоимость продажи") Range("Покупка").Value =

Input Box("Введите стоимость покупки") Range ("Возврат").Value =

InputBox("Введите стоимость возврата") г = Range("Максимальная прибыль").Value V = Range("Оптимальный объем").Value г = Format(r, "#.##")

MsgBox "Максимальная прибыль: " & г & Chr(13) &

"Оптимальный объем: " & V, vbinformation, "Расчет прибыли" End Sub

В ячейках F12:J16 (см. рис. 14.1) с помощью функции пользователя Прибыль, которая будет описана ниже, вычисляются финансовые исходы при всевозможных вариантах событий покупки журналов и их реализации.

Option Base 1

Function Прибыль (покуп As Variant) As Variant

Dim NRows, i, j, Цпрод, Цпок

Dim Цсдач As Integer, Res() As Integer

NRows = покуп.Rows.Count

Цпрод = Range("Продажа").Value

Цпок = Range("Покупка").Value

Цсдач = Range("Возврат").Value

ReDim Res (Nrows, NRows)

For i = 1 To NRows

For j = I To NRows

If i <= j Then Res(i, j) = покуп(i) * (Цпрод - Цпок) If i > j Then Res(i, j) = покуп(]) *



(Цпрод - Цпок)-(покуп (i) (Цпок - Цсдач) Next j Next i

Прибыль = Res End Function

- покуп (j)) *


введите стоимость покупки

введите стоимость возврата

ОК I

Отмена

j введите стоимость продажи


Макси! Огтгим

i:15

ь:26,35

Рис. 14.2. Диалоговые окна модели управления запасами

В ячейках L13:L17 с помощью формулы

{1=МУМН0Ж(Е12: Лб; ТРАНСП (F9 : J9) ) }

находим ожидаемую прибыль, соответствующую различным вариантам покупки журналов. Напомним, что при выполнении операции над массивами для подтверждения ввода формулы необходимо нажать комбинацию клавиш Ctrl+Shift+Enter.



110 Программирование в среде Visual Basic for Applications

В ячейке 117 (Максимальная прибыль) с помощью формулы

=НАИБОЛЬШИЙ(L13:L17 ; 1)

вычисляем максимальную прибыль. Ее также можно найти, воспользовавшись функцией МАКС, находящей максимальный элемент из списка

=MAKC(L13:L17)

В ячейке 118 по формуле

=(ПОИСКПОЗ(НАИБОЛЬШИЙ(L13:L17;1);L13: L17;0)-1)*5

вычисляем соответствующий оптимальный объем покупок газет. Затем процедура Calc выводит эти оптимальные значения в окне сообщений.

Функция НАИБОЛЬШИЙ (LARGE) возвращает k-Q наибольшее значение из множества данных. Эта функция используется, чтобы выбрать значение по его относительному местоположению. Например, функцию НАИБОЛЬШИЙ можно использовать, чтобы определить наилучший, второй или третий результат в баллах, показанный при тестировании. Приведем синтаксис использованной выше функции НАИБОЛЬШИЙ.

Синтаксис:

НАИБОЛЬШИЙ(массив; к),

• массив - это массив или диапазон, для которых определяется к-е наибольшее значение;

• к - это позиция (начиная с наибольшей) в массиве или в диапазоне.

Функция Format осуществляет форматирование значения вычисляемого выражения по указанному формату. Синтаксис:

Format (выражение, формат),

• выражение - любое допустимое в VBA выражение;



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 [ 35 ] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57