Модель управления запасами. Открытие диалоговых окон ввода с помощью кнопок на листе Excel. Создания пользовательской формы, страница 3

После этого у всех столбцов рабочего листа вместо букв появиться номера. Адрес ячейки будет состоять из номера строки (R – row, строка) и номера столбца (C – column, столбец). Например, R3C5 соответствует ячейки с адресом Е3 в обычной адресной записи. Имеется два способа ссылки на ячейку рабочего листа:

■ Относительная адресация (т.е. когда начало координат, задающие нумерацию строк, столбцов, связывается с объектом вызвавшим Range);

■ Абсолютная адресация.

Указывает смещение по отношению к активной ячейке. Смещение производится в квадратных скобках, причем знак указывает на направление смещения.

Например, если активной ячейкой является R5C4, то R[2]C[-3] дает ссылку на ячейку R7C1.

Работа со свойством Range.

Если свойство Range возвращает объект Range. Свойство Range имеется у двух типов: объектов Worksheet и объектов Range. Это свойство имеет две синтаксические формы:

Object. Range (ячейка1)

Object. Range (ячейка1, ячейка2)

Здесь значения 1 и значения 2 – ссылки на ячейки в формате, понятом Excel, причем во второй синтаксической форме адреса ячеек определяют границы диапазона.

В макросе прописано следующие:

Range ("H20").Select

ActiveCell.FormulaR1C1 = "=MAX (RC [-5]: R [4] C [-5])"

Range("H21").Select

End Sub

Свойство Offsets (смещение), подобно свойствам Range Cells, возвращает свойства Range.

Но это свойство есть только у объекта Range. Оно имеет такой синтаксис:

Object. Offsets (смещение _строки, смещение _столбца).

Аргумент свойства Offsets залают позицию относительно верхнего левого угла ячеек, соответствующего объекту Range. Эти аргументы могут быть положительными (смещение вниз и вправо), отрицательным (смещение вверх и влево) либо нулевыми.

«Formula R1C1» – нужна, чтобы возвратить формулу в формате R1C1.

2.2.Код в кнопках управления

Далее прописан код в кнопках управления, на рабочем листе:     

В кнопке «Ввод данных»:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Show - Отображает форму на экране;

В кнопке «Вывод результатов»:

Private Sub CommandButton2_Click()

Dim p As Single

Dim p2 As Single, n As Integer

Dim sum As Integer

sum = Cells(8, 4).Value + Cells(8, 5).Value + Cells(8, 6).Value + Cells(8, 7).Value + Cells(8, 8).Value

For i = 4 To 8

Cells(9, i) = Cells(8, i) / sum

Next i

Прибыль (ячейки С20-С24) считается по формуле умножения матрицы Прибыли на столбец Вероятности событий (строка транспонируется)

For j = 1 To 5

For i = 1 To 5

If i > j Then

p = Cells(12, j + 3) * (Range("B6") - Range("C6")) - (Cells(12 + i, 3) - Cells(12, j + 3)) * (Range("C6") - Range("D6"))

Else

p = Cells(12 + i, 3) * (Range("B6") - Range("C6"))

End If

Cells(i + 12, j + 3) = p

Next i

Next j

Матричная функция прибыли (ячейки D13-D17) позволяет вычислить финансовые исходы при всех возможных вариантах событий покупки журналов и их реализации при следующей формуле:

For i = 1 To 5

Cells(19 + i, 3) = Cells(12 + i, 4) * Cells(9, 4) + Cells(12 + i, 5) * Cells(9, 5) + Cells(12 + i, 6) * Cells(9, 6) + Cells(12 + i, 7) * Cells(9, 7) + Cells(12 + i, 8) * Cells(9, 8)

Next i

p2 = Cells(20, 3)

n = 20

For i = 20 To 24

If p2 < Cells(i, 3) Then

p2 = Cells(i, 3)

n = i

End If

Next i

Range("h20") = p2

Range("h21") = Cells(n, 2)

MsgBox "Максимальная прибыль: " & Range ("h20").Value & vbCr & vbLf & "Оптимальный объем: " & Range("h21").Value, vbInformation, "Расчёт прибыли"

End Sub

Single – предназначена для хранения числовой информации

Integer - используются 1 б. для хранения 1 символов плюс 1б. для отметки конца строки. Символы хранятся в виде кодов ANSI.,т.е. возвращаемым значением данной функции является информация, вводимая пользователем.