После этого у всех столбцов рабочего листа вместо букв появиться номера. Адрес ячейки будет состоять из номера строки (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.,т.е. возвращаемым значением данной функции является информация, вводимая пользователем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.