Worksheets(Имя листа).Select
Например, Worksheets(“Лист1”).Select – переход на рабочий лист с именем “Лист1”.
Пример
Пусть одномерный массив А, состоящий из десяти элементов, находится на рабочем листе “Лист1”, а массив В, состоящий из десяти элементов, находится на рабочем листе “Лист2”. Необходимо прочитать массив А с листа “Лист1” и расположить его на листе “Лист2” ниже массива В.
Программный код
Option Explicit
Sub PR15()
Dim A(10) As Integer
Dim B(10) As Integer
Dim i As Integer
For i = 1 To 10
Worksheets("Лист1").Select ‘ выбираем Лист1
A(i) = Worksheets("Лист1").Cells(1, i) ‘ считываем с Лист1 массив А
Worksheets("Лист2").Select ‘ выбираем Лист2
Worksheets("Лист2").Cells(2, i) = A(i) ‘ выводим на Лист2 массив А
Next i
End Sub
Вычисление суммы, произведения и количества элементов в одномерном массиве
Вычисление суммы, произведения и количества элементов в одномерных массивах производится обязательно в цикле, перед которым сумма приравнивается к нулю, произведение – к единице, количество – к нулю.
Например, в одномерном массиве, состоящем из пяти элементов, для вычисления суммы следует записать следующее:
sum = 0
For i = 1 To 5
sum = sum + A(i)
Next i
MsgBox (sum)
Для вычисления произведения:
pr = 1
For i = 1 To 5
pr = pr * A(i)
Next i
MsgBox (pr)
Для вычисления количества:
kol = 0
For i = 1 To 5
kol = kol + 1
Next i
MsgBox (kol)
Если необходимо вычислить сумму, произведение или количество элементов массива, удовлетворяющих некоторому условию, то в цикле следует записать условный оператор, в котором проверяется это условие.
Пример
Задан целочисленный массив А, состоящий из N элементов. Вычислить среднее арифметическое четных элементов и среднее геометрическое нечетных элементов.
Программный код
Option Explicit
Sub PR16()
Dim i As Integer, S As Integer
Dim K1 As Integer, K2 As Integer, N As Integer
Dim PR As Double, SA As Double, SG As Double
Dim A(50) As Integer
N = Val(InputBox("Введите N"))
S = 0: PR = 1: K1 = 0: K2 = 0
For i = 1 To N
A(i) = Cells(1, i)
Next i
For i = 1 To N
If A(i) mod 2 = 0 Then
S = S + A(i) ‘ вычисление суммы и
K1 = K1 + 1 ‘ количества четных элементов
End If
If A(i) mod 2 < > 0 Then
PR = PR * A(i) ‘ вычисление произведения и
K2 = K2 +1 ‘ количества нечетных элементов
End If
Next i
MsgBox("S=" & S & " K1=" & K1)
MsgBox("PR=" & PR & " K2=" & K2)
If K1 < > 0 Then
SA = S / K1 ‘ вычисление среднего арифметического
MsgBox("SA=" & SA)
Else
MsgBox("четных элементов нет")
End If
If K2 < > 0 And PR>0 Then
SG = PR ^ (1 / K2) ‘ вычисление среднего геометрического
MsgBox("SG=" & SG)
Else
MsgBox("нечетных элементов нет")
End If
End Sub
Дата добавления: 2015-11-20; просмотров: 777;