Использование VBA при работе в Microsoft Office

Автор работы: Пользователь скрыл имя, 04 Февраля 2014 в 14:57, контрольная работа

Краткое описание

Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select

Содержание

1. Организация программирования в Word с использованием встроенного языка VBA. 3
1.1. Описание конструкций языка VBA, обеспечивающих ветвление 3
1.2. Условие задачи на разветвление алгоритма 5
1.3. Распечатка программного кода 5
1.4. Распечатка результатов выполнения 6
2. Постановка задачи на обработку информации с использованием разветвления алгоритма 7
2.1. Описание условия задачи 7
2.2. Распечатка программного кода 7
2.3. Распечатка результатов выполнения 8
3. Программная обработка информации в таблице Excel 9
3.1. Описание организации информации в таблице Excel 9
3.2. Условие задачи на организацию обработки информации, представленной в виде таблицы Excel 9
3.3. Распечатка программного кода 9
3.4. Распечатка результатов выполнения 10
4. Постановка задачи на обработку информации в таблице Excel с использованием встроенного языка VBA 11
4.1 Описание условия задачи 11
4.2 Распечатка программного кода 11
4.3 Распечатка результатов выполнения 12
5. Литература и Internet-ресурсы 14

Прикрепленные файлы: 1 файл

Karavaev.docx

— 130.57 Кб (Скачать документ)

        "Column : " & .Column

    End With

    End Sub

3.4. Распечатка результатов выполнения

 

 

4. Постановка задачи на обработку  информации в таблице Excel с использованием встроенного языка VBA

4.1 Описание  условия задачи

Пусть есть станок возраста t лет. Пусть оборудование можно менять раз в год (в самом конце года). Пусть r(t) – стоимость продукции, l(t) – затраты на оборудование (сервис), s(t) – остаточная стоимость оборудования, p – стоимость нового оборудования.

Необходимо спланировать оптимальный график замены оборудования на N+1 лет (т.е. так, чтобы за N+1 лет получить максимальную прибыль).

4.2 Распечатка программного кода

 

Option Explicit

Sub ChangingEquipmentIssue()

Dim oRg As Range, p As Double, s As Double, n As Double, str As String, i As Integer, j As Integer

    ‘Обеспечиваем ввод параметров с клавиатуры

    str = InputBox("Введите число лет", "Ввод чисел")

    If (str = "") Then

        n = 0

       Else

        n = str

    End If

    str = InputBox("Укажите остаточную стоимость", "Ввод чисел")

    If (str = "") Then

        s = 0

       Else

        s = str

    End If

    str = InputBox("Укажите стоимость нового оборудования", "Ввод чисел")

    If (str = "") Then

        p = 0

       Else

        p = str

    End If

   ‘Создаем двойной цикл, заполняющий ячейки

    For i = 1 To n

        For j = 1 To n + 1

            ‘При заполнении первой строки используем функцию ChEqIsFirst

            If (i = 1) Then

                Cells(1, j) = ChEqIsFirst(p, s, j - 1)

               ‘При заполнении последующих строк - ChEqIsNext

               Else

                Cells(i, j) = ChEqIsNext(p, s, j - 1, i)

            End If

        Next j

    Next i

End Sub

 

Function ChEqIsFirst(p As Double, s As Double, t As Integer)

    Dim fi As Double

    If (10 - t > 0) Then fi = 10 - t Else fi = 0

    'ChEqIsFirst = max(fi, fi + s - p)

    If (fi > fi + s - p) Then ChEqIsFirst = fi Else ChEqIsFirst = fi + s - p

End Function

 

Function ChEqIsNext(p As Double, s As Double, t As Integer, i As Integer)

    Dim fi As Double

    If (10 - t > 0) Then fi = 10 - t Else fi = 0

    'Если лучше без замены - вывести число, иначе - вывести число, выделить и закрасить ячейку

    If (fi + Cells(i - 1, t + 2) > 10 - p + s + Cells(i - 1, 2)) Then

        ChEqIsNext = fi + Cells(i - 1, t + 2)

       Else

        ChEqIsNext = 10 - p + s + Cells(i - 1, 2)

        Cells(i, t + 1).Select

        With Selection.Interior

            .Pattern = xlSolid

            .PatternColorIndex = xlAutomatic

            .ThemeColor = xlThemeColorAccent3

            .TintAndShade = 0

            .PatternTintAndShade = 0

        End With

    End If

End Function

4.3 Распечатка  результатов выполнения

 

Пусть в нашей задаче fi = r(t) - l(t) = max(10-t, 0); s(t), p  – константы, задаваемые пользователем вместе с числом лет N.

 

 

Программой был сгенерирован график. В интересующей нас последней  строке замена оборудования происходит после 4 лет эксплуатации (незакрашенные ячейки – эксплуатация без замены). Следовательно, для оптимальной работы потребуется 4 замены за 13 лет, т.к. рекомендуется замена с периодичностью 4 года.

 

 

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

Первая строка:            

Последующие:            

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

 

 

 

5. Литература  и Internet-ресурсы

1. Информатика: Учебник./Под ред. Н.В. Макаровой, Финансы и статистика, 2005

2. Основные операторы языка VBA  http://dpivi.ru/104-3-osnovnye-operatory-yazyka-vba.html

3. Технология обработки информации в электронных таблицах http://www.maksakov-sa.ru/EGEEInforman/TeoriaEGEEE/ObrInfElektrTabl/index.html


Информация о работе Использование VBA при работе в Microsoft Office