МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Решение экономических задач с помощью VBA

    0.04

    |Месяц |М а г а з |

    | |и н ы |

    | |1 |2 |3 |

    |Ноябрь |100 |100 |120 |

    |Декабрь |300 |150 |650 |

    |Январь |1000|130 |250 |

    |Февраль |1000|120 |50 |

    |Март |0 |100 |760 |

    |Апрель |100 |100 |0 |

    |Май |310 |600 |500 |

    |Всего |2810|1300 |2330 |

    |Премиальные!|168,|0 |93,2 |

    | |6 | | |

    2.3.2 Начисление премии по определенным условиям

    Создаем таблицу начисления премий, заполняем ее величинами доходов за

    указанные месяцы, и считаем сумму доходов за все месяцы. Подробное описание

    как создавать таблицу и заполнять ее значениями приволится в предыдущем

    пункте.

    Определяем какие из полученных сумм доходов лежат в какой из 4-х

    указанных в условии областей и заносим рез-ты в таблицу в ячейки B12:D12

    которые отображают премиальные

    Do

    i = i + 1

    If AA_1(i) < 700 Then Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.01

    If AA_1(i) >= 700 And AA_1(i) < 1400 Then Worksheets("Задание2").Cells(12,

    i + 1).Value = Worksheets("Задание2").Cells(11, i + 1).Value * 0.015

    If AA_1(i) >= 1400 And AA_1(i) < 2800 Then

    Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.023

    If AA_1(i) >= 2800 Then Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.025

    Loop Until i = 3

    Полученная таблица выглядит следующим образом:

    |Месяц |М а г а з |

    | |и н ы |

    | |1 |2 |3 |

    |Ноябрь |50 |100 |120 |

    |Декабрь |50 |150 |650 |

    |Январь |100 |130 |250 |

    |Февраль |100 |120 |50 |

    |Март |120 |100 |760 |

    |Апрель |100 |100 |1000 |

    |Май |50 |600 |500 |

    |Всего |570 |1300 |3330 |

    |Премиальные!|5,7 |19,5 |83,25 |

    2.3.3 Составление ведомости расчета прибыли от товара

    Заполняем таблицу значениями, как указано в условии т.е 5

    разновидностей комплектующих расположенных в ячейках B2:F2, и 9 вариантов

    стоимостей комплектующих в ячейках A3:A11. В ячейках B3:F12 будет

    располагаться значения стоимостей комплектующих и стоимости работы до

    комплектации.

    В ячейках G3 по формуле =СУММ(B3:F3) считается общая стоимость всех

    комплектующих, растягиваем маркер ячейки G3 до ячейки G11, и получаем

    стоимость всех комплектующих для всех вариантов стоимостей.

    В программе определяется какая деталь в каком месте самая дешовая,

    если не учитывать транспортные затраты и задаться целью купить детали по

    минимальным ценам. Для этого в программе определяются минимальные стоимости

    по 5-ти деталям.

    Полученная ведомость будет выглядеть следующим образом:

    |Варианты| В и д ы к о м п л е к т | MIN /|

    | |у ю щ и х |MAX |

    |Стоимост|1-я |2-я |3-я |4-я |5-я |Всег| |

    |и |деталь |деталь|деталь|деталь|деталь |о | |

    |1-й |20 |90 |5 |50 |60 |225 | |

    |2-й |19 |85 |4 |55 |50 |213 | |

    |3-й |20 |81 |4 |50 |56 |211 |Миним. Цена на|

    | | | | | | | |товар |

    |4-й |25 |87 |8 |57 |58 |235 | |

    |5-й |29 |87 |5 |55 |60 |236 | |

    |6-й |18 |88 |4 |40 |61 |211 | |

    |7-й |30 |99 |9 |66 |60 |264 | |

    |8-й |30 |99 |9 |66 |64 |268 |Макс. Цена на |

    | | | | | | | |товар |

    |9-й |21 |90 |6 |54 |55 |226 | |

    |До |15 |75 |3 |40 |50 |183 | |

    |комплект| | | | | | | |

    |ации | | | | | | | |

    2.3.4 Модель управления запасами

    Вводим исходные значения , т.е. значения покупки продавцом журналов,

    продажи этих журналов и возврата в типографию в случае не реализации

    товара. Ввод всего этого производится в диалоговом окне, которое

    создается как UserForm со специальными кнопками и полями ввода покупки

    журналов, продажи, и возврата к типографию. Окно ввода выглядит так:

    [pic]

    Составляем таблицу состоящую из обьема реализации, числа событий, и

    вероятности этих событий, первые два нам даны по условию а вероятность

    этих событий нужно посчитать. Вводим в ячейку D7 следующую формулу

    вычисления вероятностей {=D6/СУММ($D$5:$I$5)}

    и растягиваем маркер до ячейки I7.

    В ячейках C10:H15 спомощью ф-ции пользователя CALC Вычисляем финансовые

    исходы при всевозможных вариантых событий покупки журналов и их реализации

    Function CALC(buy As Variant) As Variant

    Dim Цена_продажы, Цена_покупки, Цена_возврата, NRows, i, j As Integer,

    Result() As Integer

    NRows = buy.Rows.Count

    Цена_продажы = Range("a2").Value

    Цена_покупки = Range("b2").Value

    Цена_возврата = Range("c2").Value

    ReDim Result(NRows, NRows)

    For i = 1 To NRows

    For j = 1 To NRows

    If i j Then Result(i, j) = buy(j) * (Цена_продажы - Цена_покупки) -

    (buy(i) - buy(j)) * (Цена_покупки - Цена_возврата)

    Next j

    Next i

    CALC = Result

    End Function

    В ячейках J11:J16 с помощью формулы {=МУМНОЖ(C10:H15;ТРАНСП(D7:I7))}

    находим ожидаемую прибыль, соответсввующую различным вариантам покупки

    журналов.

    В ячейке F16 спомощью формулы =НАИБОЛЬШИЙ(J11:J16;1)

    вычисляем максимальную прибыль . Ее также можно найти воспользовавшись ф-

    цией МАКС, находящей максимальный эл-т из списка

    =Макс(J11:J16)

    В ячейке F17 по формуле =(ПОИСКПОЗ(НАИБОЛЬШИЙ(J11:J16;1);J11:J16;0)-

    1)*5

    соответствующий оптимальный обьем покупок газет. Затем функция CALC выводит

    эти оптимальные значения в окне сообщений.

    Ф-ция наибольший возвращает К-е наибольшее значение из множества

    данных . Эта ф-ция используется для того чтобы выбрать значение по его

    относительному местоположению. Например, фунуцию НАИБОЛЬШИЙ можно

    использовать для того чтобы определить наилучший, второй, третий результат

    в балах, показанный при тестировании. Систаксис программы такой:

    НАИБОЛЬШИЙ(массив;К) где Массив – это массив или диапазон ячеек где

    определяется наибольшее значение, к – позиция (начиная с наибольшей) в

    массиве или диапазоне.

    Все результаты занесенные в таблицу будут выглядеть следующим образом:

    | | |П р о | | | |

    | | |д а ж | | | |

    | | |а | | | |

    |П | |0 |4 |8 |12 |14 |18 | | |

    |о |0 |0 |0 |0 |0 |0 |0 |Покуп|Прибыл|

    | | | | | | | | |ка |ь |

    |к |4 |0 |0 |0 |0 |0 |0 |0 | |

    | | | | | | | | | |- р. |

    |у |8 |0 |-20 |16 |16 |16 |16 |4 | |

    | | | | | | | | | |- р. |

    |п |12 |0 |-40 |-4 |32 |32 |32 |8 | |

    | | | | | | | | | |12,94р|

    | | | | | | | | | |. |

    |к |14 |0 |-60 |-24 |12 |48 |48 |12 | |

    | | | | | | | | | |16,88р|

    | | | | | | | | | |. |

    |а |18 |0 |-70 |-34 |2 |38 |56 |14 | |

    | | | | | | | | | |9,00р.|

    | | |Максимальная | | | |18 | |

    | | |прибыль |16,88| | | |0,28р.|

    | | | |р. | | | | |

    | | |Оптимальный |15 | | | | |

    | | |обьем | | | | | |

    2.3.5 Определение оптимальных капиталовложений

    Создаём исходную таблицу и заполняем ее мат. ожиданиями прибылей в

    состветствии с условием.

    | |Ф и л | |

    | |и а л | |

    | |ы | |

    |Млн.|1 |2 |3 |4 |5 |6 |

    |грв | | | | | | |

    |0 |0 |0 |0 |0 |0 |0 |

    |1 |0,|0,1|0,1|0,2|0,1|0,1|

    | |11|2 |8 | |7 |2 |

    |2 |0,|0,1|0,1|0,2|0,1|0,2|

    | |11|3 |8 |2 |7 |3 |

    |3 |0,|0,1|0,1|0,2|0,1|0,2|

    | |12|3 |9 |4 |8 |4 |

    |4 |0,|0,1|0,1|0,2|0,1|0,2|

    | |12|3 |9 |6 |8 |4 |

    |5 |0,|0,1|0,2|0,2|0,1|0,2|

    | |13|3 | |9 |9 |5 |

    |6 |0,|0,1|0,2|0,3|0,1|0,2|

    | |13|3 | |1 |9 |5 |

    |7 |0,|0,1|0,2|0,3|0,2|0,2|

    | |14|3 | |3 | |6 |

    Для дальнейшего решения задачи, вводим следующие обозначения:

    Пусть R(i,j) – прибыль получаемая от вложения i млн. грв. В j-тый

    филиал, где в соотв. С вариантом i от (0,7), а j от (0,6)

    F(A,1,2) – оптимальное распределение средств, когда А млн. грв.

    вкладываются в 1,2 филиалы вместе

    F(A,1,2,3) – оптимальное распределение средств, когда А млн. грв.

    вкладываются в 1,2,3 филиалы вместе

    F(A,1,2,3,4) – оптимальное распределение средств, когда А млн. грв.

    вкладываются в 1,2,3,4 филиалы вместе.

    F(A,1,2,3,4,5) – оптимальное распределение средств, когда А млн. грв.

    вкладываются в 1,2,3,4,5 филиалы вместе.

    F(A,1,2,3,4,5,6) – оптимальное распределение средств, когда А млн. грв.

    вкладываются в 1,2,3,4,5 филиалы вместе.

    Значения I при которых достигается максимум определяют оптимальные

    капиталовложения в филиалы.

    Максимальные значения ожидаемых прибылей вычисляется в программе и

    заносится в ячейки H4:L11 и будет выглядеть следующим образом:

    |М а к с и | | |

    |м у м ы | | |

    |1 и |1,2|1,2,3|1,2,3|1,2,3,|

    |2 |и 3|и 4 |,4 и |4,5 и |

    | | | |5 |6 |

    |0 |0 |0 |0 |0 |

    |0,12|0,1|0,2 |0,2 |0,2 |

    | |8 | | | |

    |0,23|0,3|0,38 |0,38 |0,38 |

    |0,24|0,4|0,5 |0,55 |0,55 |

    | |1 | | | |

    |0,24|0,4|0,61 |0,67 |0,67 |

    | |2 | | | |

    |0,25|0,4|0,63 |0,78 |0,79 |

    | |2 | | | |

    |0,25|0,4|0,65 |0,8 |0,9 |

    | |3 | | | |

    |0,26|0,4|0,67 |0,82 |1,01 |

    | |3 | | | |

    В программе переменной К – присваиваем значение равное обьему

    капиталовложений. В массив R с рабочего листа капиталовложения вводим

    ожидаемую прибыль , распределенную по филиалам.

    В диапазон ячеек (B14:K22) выводится оптимальное распределение

    капиталовложений по филиалам. После вычислений можно увидеть что

    максимальныя ожидаемая прибыль составляет 1,01 млн. грв. , из таблицы видны

    следующие рез-ты:

    6 филиал – 2 млн.

    5 филиал – 1 млн.

    4 филиал – 1 млн.

    3 филиал – 1 млн.

    2 филиал – 1 млн.

    1 филиал – 1 млн.

    Сама таблица выглядит следующим образом:

    | |Ф и л | | | |

    | |и а л | | | |

    | |ы | | | |

    |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |0 |

    |1 |0 |1 |0 |1 |0 |1 |1 |0 |1 |0 |

    |2 |1 |1 |1 |1 |1 |1 |2 |0 |2 |0 |

    |3 |1 |2 |2 |1 |2 |1 |2 |1 |3 |0 |

    |4 |1 |3 |3 |1 |3 |1 |3 |1 |3 |1 |

    |5 |3 |2 |2 |3 |3 |2 |4 |1 |4 |1 |

    |6 |3 |3 |3 |3 |3 |3 |5 |1 |4 |2 |

    |7 |5 |2 |2 |5 |3 |4 |6 |1 |5 |2 |

    |Млн.|1 |2 |1,2|3 |1,2|4 |1,2,|5 |1,2,3|6 |

    |грв.| | | | |,3 | |3 и | |,4 и | |

    | | | | | | | |4 | |5 | |

    2.3.6 Задание на нахождение оптимального раскроя

    Составляем таблицу в которой будут приведены остатки от раскроя на

    заказ при различных вариантах раскроя.

    Например по условию в соответствии с вариантом стандартная длина

    раскроя равна 28 метров,

    т.е. первый вариант раскроя будет сосотавлять 0 рулон дляной 4 м, 0 рулонов

    длиной 6м и 4 рулона длиной 9 м, рулонов длиной 11 м. не будет, что в сумме

    даст 27, следовательно отходы будут составлять 1 метр. Второй вариант когда

    1 рулон по 6 м и два по 11 м, в этом случае остатков не будет и т.д. Всего

    получается 19 вариантов раскроя.

    В программе это будет выглядеть таким образом:

    l = 28

    a1 = 4: a2 = 6

    a3 = 9: a4 = 11

    r = 4

    m = Application.Min(a1, a2, a3, a4)

    t = Application.Floor(l / m, 1)

    For i1 = 0 To t

    For i2 = 0 To t

    For i3 = 0 To t

    For i4 = 0 To t

    s = 28 - a1 * i1 - a2 * i2 - a3 * i3 - a4 * i4

    If s >= 0 And s < m Then

    Cells(r, 1).Value = r - 3

    Cells(r, 2).Value = i1

    Cells(r, 3).Value = i2

    Cells(r, 4).Value = i3

    Cells(r, 5).Value = i4

    Cells(r, 6).Value = s

    r = r + 1

    End If

    Next i4

    Next i3

    Next i2

    Next i1

    На листе это будет выглядеть так:

    |Д л и н ы р у л о н |

    |о в н а з а к а з |

    |Вариа| | | | |Остаток |

    |нты | | | | | |

    |раскр|4 |6 |9 |11|от расктоя |

    |ойки | | | | | |

    |1 |0 |0 |3 |0 |1 |

    |2 |0 |1 |0 |2 |0 |

    |3 |0 |1 |1 |1 |2 |

    |4 |0 |3 |1 |0 |1 |

    |5 |1 |0 |0 |2 |2 |

    |6 |1 |1 |2 |0 |0 |

    |7 |1 |2 |0 |1 |1 |

    |8 |1 |2 |1 |0 |3 |

    |9 |1 |4 |0 |0 |0 |

    |10 |2 |0 |1 |1 |0 |

    |11 |2 |0 |2 |0 |2 |

    |12 |2 |1 |0 |1 |3 |

    |13 |2 |3 |0 |0 |2 |

    |14 |3 |1 |1 |0 |1 |

    |15 |4 |0 |0 |1 |1 |

    |16 |4 |0 |1 |0 |3 |

    |17 |4 |2 |0 |0 |0 |

    |18 |5 |1 |0 |0 |2 |

    |19 |7 |0 |0 |0 |0 |

    Пусть Xj – кол-во стандартных рулонов, разрезанных по варианту j, где

    j[1..19]. Ограничения налагаемые на переменные Xj связаны с требованием

    обеспечить изготовление заказанного кол-ва нестандартных рулонов. Ф-ция

    цели учитывает суммарные отходы, получаемые при выполнении заказа. Таким

    образом имеем следующую мат. модель:

    Минимизировать:

    Z=x1+2x3+x4+2x5+x7+3x8+2x11+2x12+2x13+x14+x15+3x16+

    +2x18 + 4(x5+x6+x7+x8+x9+2x10+2x11+2x12+2x13+3x14+4x15+4x16+4x17+5ч18+7x19-

    220)+ 6(...-210)+9(...-350)+

    +11(...-380)

    Отведем диапазон ячеек (i4:i22) под переменные . Введем в диапазон

    ячеек (j3:m3) левые части ограничений, определенные слежующими формулами:

    =СУММПРОИЗВ($I$4:$I$22;B4:B22)

    =СУММПРОИЗВ($I$4:$I$22;c4:c22)

    =СУММПРОИЗВ($I$4:$I$22;d4:d22)

    =СУММПРОИЗВ($I$4:$I$22;e4:e22)

    В ячейку N4 введем ф-цию цели:

    =СУММПРОИЗВ($I$4:$I$22;F4:F22)+B3*(СУММПРОИЗВ($I$4:$I$22;B4:B22)-

    J3)+C3*(СУММПРОИЗВ($I$4:$I$22;C4:C22)-K3)+D3*(СУММПРОИЗВ($I$4:$I$22;D4:D22)-

    L3)+E3*(СУММПРОИЗВ($I$4:$I$22;E4:E22)-M3)

    где в ячейки B3:E3 введены длины, а в ячейки J3:M3 – кол-ва заказанных

    рулонов

    Выберем команду сервис – Поиск решения и заполним открывшееся

    диалоговое окно Поиск решения (Solver):

    - Установим целевую ячейку – N4

    - Изменяя ячейки I4:I22

    - Ограничения $I$4:$I$22=целое

    $I$4:$I$22>=0

    $j$4:$m$4>=$j$3:$m$3

    - Ф-ция = минимизация

    |К о л - в а з а к а з а н н ы х р у л |

    |о н о в |

    |220|210|35|38|Отходы |

    | | |0 |0 | |

    |220|210|35|38|49,99996 |

    | | |0 |0 | |

    2.3.7 База данных

    Создадим поля базы данных, и занесем их в таблицу. База данных будет

    заполняться программой, программе не требуются названия полей, но для

    облегчения ориентации в первой строке введем данные соответствующие полям

    БД

    Создадим кнопку “Добавление” для добавления записей в БД, делается это

    так: Вызываем панель инструментов на которой расположены примитивы, т.е.

    окна ввода, кнопки и т.д. Создаем на форме кнопку, и спомощью св-ва Caption

    присваиваем ей название “Добавление”

    Создадим макрос который будет отвечать за обработку событий по нажатию

    этой кнопки. Перейдем в среду Visual Basic for Application и в меню

    «Вставка» выберем UserForm, на эту форму и поместим все обьекты оговоренные

    в условии(m раскрывающихся списков, n полей ввода, ...).

    В макросе отвечающем за событие кнопки «Добавление» введем процедуру

    которая будет активизировать форму UserForm1, и заносить все данные из окна

    ввода в ячейки листа A4:L4, A5:L5 и т.д.

    По нажатию кнопки “OK” выполнится следующий код программы:

    Окно ввода выглядит следующим образом:

    [pic]

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

    1. А.Гарнаев. Использование MS Excel и VBA в экономике и финансах

    2. С. Браун, Visual Basic 5.0 с самого начала, Москва 1999, издательство

    “Питер”

    3. Microsoft Visual Basic – on-Line HELP

    ПРИЛОЖЕНИЕ 1

    ПРОГРАММА НА ЯЗЫКЕ MICROSOFT VISUAL BASIC

    Модуль 1:

    Sub Return_To_MainMenu()

    Worksheets("Содержание").Activate

    End Sub

    Модуль 2:

    Sub Task1()

    Worksheets("Задание1").Activate

    End Sub

    Sub Task2()

    Worksheets("Задание2").Activate

    End Sub

    Sub Task3()

    Worksheets("Задание3").Activate

    End Sub

    Sub Task4()

    Worksheets("Задание4").Activate

    End Sub

    Sub Task1_Evrica()

    Dim mas1(3) As Integer

    Dim mas2(3) As Integer

    Dim Mas_I1(3) As Integer

    B = Worksheets("Задание1").Range("B11").Value

    c = Worksheets("Задание1").Range("C11").Value

    D = Worksheets("Задание1").Range("D11").Value

    mas1(1) = B

    mas1(2) = c

    mas1(3) = D

    i = 1

    l = 0

    Do

    k = mas1(i)

    ''''' Занесение в массив Mas2 эл-тов >1490

    If k > 1490 Then mas2(i) = mas1(i) Else mas2(i) = 0

    i = i + 1

    Loop Until i = 4

    Max = -1

    i = 0

    Do

    i = i + 1

    If mas2(i) > Max Then

    Max = mas2(i)

    indm = i

    End If

    Loop Until i = 3

    Worksheets("Задание1").Cells(12, indm + 1).Value = Max * 0.02 + Max * 0.04

    'Worksheets("Задание1").Range("f15").Value = r

    'GoTo l

    ''''' Находим MAx эл-т из оставшихся,

    ''''' и запоминаем его индеск

    Max = -1

    i = 0

    Do

    i = i + 1

    If i <> indm And mas2(i) > Max Then

    Max = mas2(i)

    indm2 = i

    End If

    Loop Until i = 3

    Worksheets("Задание1").Cells(12, indm2 + 1).Value = Max * 0.02 + Max *

    0.02

    ''''' Находим MAx эл-т из оставшихся,

    ''''' и запоминаем его индеск

    Max = -1

    i = 0

    Do

    i = i + 1

    If mas2(i) > Max And i <> indm2 And i <> indm Then

    Max = mas2(i)

    indm3 = i

    End If

    Loop Until i = 3

    Worksheets("Задание1").Cells(12, indm3 + 1).Value = Max * 0.02 + Max *

    0.01

    End Sub

    Sub Task2_Evrica()

    Dim AA_1(3) As Integer

    B = Worksheets("Задание2").Range("B11").Value

    c = Worksheets("Задание2").Range("C11").Value

    D = Worksheets("Задание2").Range("D11").Value

    AA_1(1) = B

    AA_1(2) = c

    AA_1(3) = D

    i = 0

    Do

    i = i + 1

    If AA_1(i) < 700 Then Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.01

    If AA_1(i) >= 700 And AA_1(i) < 1400 Then Worksheets("Задание2").Cells(12,

    i + 1).Value = Worksheets("Задание2").Cells(11, i + 1).Value * 0.015

    If AA_1(i) >= 1400 And AA_1(i) < 2800 Then

    Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.023

    If AA_1(i) >= 2800 Then Worksheets("Задание2").Cells(12, i + 1).Value =

    Worksheets("Задание2").Cells(11, i + 1).Value * 0.025

    Loop Until i = 3

    End Sub

    Sub Task3_Evrica()

    Dim AA_2(10) As Integer

    Dim MM_1(10) As Integer

    Dim MM_2(10) As Integer

    Dim MM_3(10) As Integer

    Dim MM_4(10) As Integer

    Dim MM_5(10) As Integer

    Worksheets("Задание3").Range("I3:I12").Clear

    Worksheets("Задание3").Range("b3:h12").Font.Bold = False

    Worksheets("Задание3").Range("b3:h12").Font.Size = 10

    Worksheets("Задание3").Range("b3:h12").Font.Italic = False

    i = 0

    Do

    i = i + 1

    AA_2(i) = Worksheets("Задание3").Cells(i + 2, 7).Value

    Loop Until i = 9

    Max = -1

    i = 0

    Do

    i = i + 1

    If AA_2(i) > Max Then

    Max = AA_2(i)

    mm = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(mm + 2, 8).Value = "Макс. Цена на товар"

    Min = 100000

    i = 0

    Do

    i = i + 1

    If AA_2(i) < Min Then

    Min = AA_2(i)

    mm2 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(mm2 + 2, 8).Value = "Миним. Цена на товар"

    '''''''''''''''''''''''''''''

    i = 0

    Do

    i = i + 1

    MM_1(i) = Worksheets("Задание3").Cells(i + 2, 2).Value

    MM_2(i) = Worksheets("Задание3").Cells(i + 2, 3).Value

    MM_3(i) = Worksheets("Задание3").Cells(i + 2, 4).Value

    MM_4(i) = Worksheets("Задание3").Cells(i + 2, 5).Value

    MM_5(i) = Worksheets("Задание3").Cells(i + 2, 6).Value

    Loop Until i = 9

    '''' 1

    Min = 100000

    i = 0

    Do

    i = i + 1

    If MM_1(i) < Min Then

    Min = MM_1(i)

    x1 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(x1 + 2, 2).Font.Bold = True

    Worksheets("Задание3").Cells(x1 + 2, 2).Font.Size = 11

    Worksheets("Задание3").Cells(x1 + 2, 2).Font.Italic = True

    '''' 2

    Min = 100000

    i = 0

    Do

    i = i + 1

    If MM_2(i) < Min Then

    Min = MM_2(i)

    x2 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(x2 + 2, 3).Font.Bold = True

    Worksheets("Задание3").Cells(x2 + 2, 3).Font.Size = 11

    Worksheets("Задание3").Cells(x2 + 2, 3).Font.Italic = True

    '''' 3

    Min = 100000

    i = 0

    Do

    i = i + 1

    If MM_3(i) < Min Then

    Min = MM_3(i)

    x3 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(x3 + 2, 4).Font.Bold = True

    Worksheets("Задание3").Cells(x3 + 2, 4).Font.Size = 11

    Worksheets("Задание3").Cells(x3 + 2, 4).Font.Italic = True

    '''' 4

    Min = 100000

    i = 0

    Do

    i = i + 1

    If MM_4(i) < Min Then

    Min = MM_4(i)

    x4 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(x4 + 2, 5).Font.Bold = True

    Worksheets("Задание3").Cells(x4 + 2, 5).Font.Size = 11

    Worksheets("Задание3").Cells(x4 + 2, 5).Font.Italic = True

    '''' 5

    Min = 100000

    i = 0

    Do

    i = i + 1

    If MM_5(i) < Min Then

    Min = MM_5(i)

    x5 = i

    End If

    Loop Until i = 9

    Worksheets("Задание3").Cells(x5 + 2, 6).Font.Bold = True

    Worksheets("Задание3").Cells(x5 + 2, 6).Font.Size = 11

    Worksheets("Задание3").Cells(x5 + 2, 6).Font.Italic = True

    '''' 6

    End Sub

    Sub Task5()

    Worksheets("Задание5").Activate

    End Sub

    Sub Task6()

    Worksheets("Задание5").Activate

    End Sub

    Sub Task5_Evrica()

    Dim G(4, 4)

    Dim c(4)

    c(1) = Worksheets("Задание5").Range("a1")

    c(2) = Worksheets("Задание5").Range("b1")

    c(3) = Worksheets("Задание5").Range("c1")

    c(4) = Worksheets("Задание5").Range("d1")

    Worksheets("Задание5").Range("a3:d6").Value = ""

    For i = 1 To 4

    For j = 1 To 4

    If i j + 1 Then G(i, j) = Abs(c(i - j) ^ 3 - c(i))

    Next

    Next

    For i = 1 To 4

    For j = 1 To 4

    Worksheets("Задание5").Cells(i + 2, j).Value = G(i, j)

    Next

    Next

    End Sub

    Sub Task6_Evrica()

    Dim X(4)

    Dim Y(4)

    X(1) = Worksheets("Задание5").Range("a12")

    X(2) = Worksheets("Задание5").Range("a13")

    X(3) = Worksheets("Задание5").Range("a14")

    X(4) = Worksheets("Задание5").Range("a15")

    Y(1) = Worksheets("Задание5").Range("b12")

    Y(2) = Worksheets("Задание5").Range("b13")

    Y(3) = Worksheets("Задание5").Range("b14")

    Y(4) = Worksheets("Задание5").Range("b15")

    s1 = 0

    s2 = 0

    s3 = 0

    m = 4

    For i = 1 To m

    s1 = s1 + X(i)

    s2 = s2 + X(i) * Y(i)

    s3 = s3 + X(i) * X(i)

    Next

    s = (2 * s1 + s2) * (2 - s1) + 3 + s3

    Worksheets("Задание5").Range("D15").Value = s

    End Sub

    Sub Task7()

    Worksheets("Раскрой").Activate

    End Sub

    Sub Task7_DB()

    UserForm1.ComboBox1.Clear

    UserForm1.ComboBox2.Clear

    UserForm1.ComboBox3.Clear

    UserForm1.ComboBox1.AddItem ("Директор")

    UserForm1.ComboBox1.AddItem ("Зам. директора")

    UserForm1.ComboBox1.AddItem ("Менеджер")

    UserForm1.ComboBox1.AddItem ("Сектетарь")

    UserForm1.ComboBox1.AddItem ("Администратор")

    UserForm1.ComboBox1.AddItem ("Охрана")

    UserForm1.ComboBox1.AddItem ("Водитель")

    UserForm1.ComboBox1.AddItem ("Сторож")

    UserForm1.ComboBox1.AddItem ("Уборщик")

    UserForm1.ComboBox2.AddItem ("10 лет.")

    UserForm1.ComboBox2.AddItem ("9 лет.")

    UserForm1.ComboBox2.AddItem ("8 лет.")

    UserForm1.ComboBox2.AddItem ("3 года.")

    UserForm1.ComboBox2.AddItem ("2 года.")

    UserForm1.ComboBox2.AddItem ("1 год.")

    UserForm1.ComboBox2.AddItem ("меньше года.")

    UserForm1.ComboBox3.AddItem ("5 часов")

    UserForm1.ComboBox3.AddItem ("6 часов")

    UserForm1.ComboBox3.AddItem ("7 часов")

    UserForm1.ComboBox3.AddItem ("8 часов")

    UserForm1.Show

    End Sub

    Sub Task7_List()

    Worksheets("БД").Activate

    End Sub

    Sub Model_of_storekeeping()

    UserForm2.Show

    End Sub

    Модуль 3:

    Option Explicit

    'МОДЕЛЬ УПРАВЛЕНИЯ ЗАПАСАМИ

    Function CALC(buy As Variant) As Variant

    Dim Цена_продажы, Цена_покупки, Цена_возврата, NRows, i, j As Integer,

    Result() As Integer

    NRows = buy.Rows.Count

    Цена_продажы = Range("a2").Value

    Цена_покупки = Range("b2").Value

    Цена_возврата = Range("c2").Value

    ReDim Result(NRows, NRows)

    For i = 1 To NRows

    For j = 1 To NRows

    If i j Then Result(i, j) = buy(j) * (Цена_продажы - Цена_покупки) -

    (buy(i) - buy(j)) * (Цена_покупки - Цена_возврата)

    Next j

    Next i

    CALC = Result

    End Function

    Sub Begin()

    Worksheets("Содержание").Activate

    End Sub

    Sub Optimum_capital_investmentsEVR()

    Dim i, j, k, n, p, l, t As Integer

    Dim m, r(), A() As Double

    k = 7

    ReDim r(k + 1, 6), A(k + 1)

    For i = 1 To k + 1

    For j = 2 To 7

    r(i, j - 1) = Cells(i + 3, j).Value

    Next j

    Next i

    t = 2

    For p = 2 To 6

    If p = 2 Then

    For j = 1 To k + 1

    A(j) = Cells(j + 3, 2).Value

    Next j

    End If

    If p > 2 Then

    For j = 1 To k + 1

    A(j) = Cells(j + 3, p + 5).Value

    Next j

    End If

    For n = 1 To k + 1

    m = -1

    For j = 1 To n

    If m < A(j) + r(n + 1 - j, p) Then

    m = A(j) + r(n + 1 - j, p)

    End If

    Next j

    Cells(n + 3, 6 + p).Value = m

    l = t

    For j = 1 To n

    If m = A(j) + r(n + 1 - j, p) Then

    Cells(n + 6 + k, l).Value = j - 1

    Cells(n + 6 + k, l + 1).Value = n - j

    l = l + 2

    End If

    Next j

    Next n

    t = l

    Next p

    End Sub

    Модуль 4:

    Sub Раскрой()

    Dim r, i1, i2, i3, i4, s, t As Integer

    Dim l, a1, a2, a3, a4, a5, m As Integer

    'Dim F, TT, SS, ZZ As String

    l = 28

    a1 = 4: a2 = 6

    a3 = 9: a4 = 11

    r = 4

    m = Application.Min(a1, a2, a3, a4)

    t = Application.Floor(l / m, 1)

    For i1 = 0 To t

    For i2 = 0 To t

    For i3 = 0 To t

    For i4 = 0 To t

    s = 28 - a1 * i1 - a2 * i2 - a3 * i3 - a4 * i4

    If s >= 0 And s < m Then

    Cells(r, 1).Value = r - 3

    Cells(r, 2).Value = i1

    Cells(r, 3).Value = i2

    Cells(r, 4).Value = i3

    Cells(r, 5).Value = i4

    Cells(r, 6).Value = s

    r = r + 1

    End If

    Next i4

    Next i3

    Next i2

    Next i1

    Range("J4").FormulaLocal = "=СУММПРОИЗВ($I$4:$I$" & r - 1 & ";B4:B" & r - 1

    & ")"

    Range("K4").FormulaLocal = "=СУММПРОИЗВ($I$4:$I$" & r - 1 & ";C4:C" & r - 1

    & ")"

    Range("L4").FormulaLocal = "=СУММПРОИЗВ($I$4:$I$" & r - 1 & ";D4:D" & r - 1

    & ")"

    Range("M4").FormulaLocal = "=СУММПРОИЗВ($I$4:$I$" & r - 1 & ";E4:E" & r - 1

    & ")"

    Range("N4").FormulaLocal = "=СУММПРОИЗВ($I$4:$I$" & r - 1 & ";F4:F" & r - 1

    & ")+B3*(СУММПРОИЗВ($I$4:$I$" & r - 1 & ";B4:B" & r - 1 & ")-

    J3)+C3*(СУММПРОИЗВ($I$4:$I$" & r - 1 & ";C4:C" & r - 1 & ")-

    K3)+D3*(СУММПРОИЗВ($I$4:$I$" & r - 1 & ";D4:D" & r - 1 & ")-

    L3)+E3*(СУММПРОИЗВ($I$4:$I$" & r - 1 & ";E4:E" & r - 1 & ")-M3)"

    End Sub

    Sub Optimum_capital_investments()

    Worksheets("Опт.капитал").Activate

    End Sub

    UserFORM1

    Обработчик события кнопки

    Private Sub CommandButton1_Click()

    If UserForm1.TextBox1.Text = "" Then GoTo ll

    i = 0

    Do

    i = i + 1

    Loop Until Worksheets("БД").Cells(i, 1) = ""

    Worksheets("БД").Cells(i, 1) = UserForm1.TextBox1.Text

    Worksheets("БД").Cells(i, 2) = UserForm1.TextBox3.Text

    If UserForm1.CheckBox2 = True Then

    Worksheets("БД").Cells(i, 6) = "Есть"

    Else

    Worksheets("БД").Cells(i, 6) = "Нет"

    End If

    If UserForm1.CheckBox1 = True Then

    Worksheets("БД").Cells(i, 7) = "Есть"

    Else

    Worksheets("БД").Cells(i, 7) = "Нет"

    End If

    Worksheets("БД").Cells(i, 8) = UserForm1.TextBox5.Text + " грв."

    Worksheets("БД").Cells(i, 9) = UserForm1.TextBox2.Text

    Worksheets("БД").Cells(i, 10) = UserForm1.TextBox6.Text + " мес."

    If UserForm1.OptionButton3 = True Then Worksheets("БД").Cells(i, 11).Value

    = "Есть семья"

    If UserForm1.OptionButton4 = True Then Worksheets("БД").Cells(i, 11).Value

    = "Нет семьи"

    If UserForm1.OptionButton5 = True Then Worksheets("БД").Cells(i, 12).Value

    = " M "

    If UserForm1.OptionButton6 = True Then Worksheets("БД").Cells(i, 12).Value

    = " Ж "

    Worksheets("БД").Cells(i, 3).Value = ComboBox1.Value

    Worksheets("БД").Cells(i, 4).Value = ComboBox2.Value

    Worksheets("БД").Cells(i, 5).Value = ComboBox3.Value

    ll:

    UserForm1.Hide

    Worksheets("БД").Activate

    End Sub

    Обработчик события кнопки

    Private Sub CommandButton2_Click()

    UserForm1.Hide

    Worksheets("БД").Activate

    End Sub

    UserForm2

    Обработчик события кнопки

    Private Sub CommandButton1_Click()

    Worksheets("Задание4").Range("c10:h15").Value = ""

    Worksheets("Задание4").Range("j11:j16").Value = ""

    Worksheets("Задание4").Range("b2").Value = UserForm2.TextBox1

    Worksheets("Задание4").Range("a2").Value = UserForm2.TextBox2

    Worksheets("Задание4").Range("c2").Value = UserForm2.TextBox3

    UserForm2.Hide

    Range("C10:H15").FormulaArray = "=Модуль3.CALC(I11:I16)"

    Range("J11:J16").FormulaArray = "=MMULT((C10:H15),TRANSPOSE(d7:i7))"

    Range("f16").Select

    ActiveCell.FormulaR1C1 = "=large(r[-5]c[4]:rc[4],1)"

    Range("f17").Select

    ActiveCell.FormulaR1C1 = "=(match(large(r[-6]c[4]:r[-1]c[4],1),r[-

    6]c[4]:r[-1]c[4],0)-1)*5"

    r = Range("f16").Value

    v = Range("f17").Value

    UserForm3.Label3.Caption = Worksheets("Задание4").Range("f16")

    UserForm3.Label4.Caption = Worksheets("Задание4").Range("f17")

    UserForm3.Show

    End Sub

    Обработчик события кнопки

    Private Sub CommandButton2_Click()

    UserForm2.Hide

    End Sub

    UserForm3

    Private Sub CommandButton1_Click()

    UserForm3.Hide

    End Sub

    Страницы: 1, 2


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.