Задание 1
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun9, которая в заданном диапазоне Листа Excel вычисляет количество четных чисел диапазона.Заголовок функции, который должен иметь вид: Function fun9(A As Variant), уже создан в модуле 1, необходимо только записать тело процедуры. На листе 1 книги выполните функцию и полученное в ячейке B12 значение введите в ответ теста.
Решение:
Public Function fun9(a As Variant) As Double
Dim s As Double, i As Variant
s = 0
For Each i In a
If i Mod 2 = 0 Then s = s + 1
Next i
fun9 = s
End Function
Ответ: 7
Задание 2
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc1, которая в диапазоне K1:L4 активного Листа Excel находит наименьшее число. Результат процедура должна вернуть в ячейку B14.Заголовок процедуры, который должен иметь вид: Procedure Proc1(), уже создан в модуле 2, необходимо только записать тело процедуры.На листе 1 книги выполните подрограмму и полученное в ячейке B14 значение введите в ответ теста.
Решение:
Public Sub Proc1()
Dim a As Range, i As Variant, s As Double
Set a = Range("K1:L4")
Min = a(1, 1)
For Each i In a
If i < Min Then Min = i
Next i
Cells(14, 2).Value = Min
End Sub
Ответ: -2
Задание 3
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc2, которая в выделенном диапазоне активного Листа Excel вычисляет количество четных положительных чисел. Результат процедура должна вернуть в ячейку B15.Заголовок процедуры, который должен иметь вид: Procedure Proc2(), уже создан в модуле 2, необходимо только записать тело процедуры.На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
s = 0
For Each i In a
If i Mod 2 = 0 And i > 0 Then s = s + 1
Next i
Cells(15, 2).Value = s
End Sub
Ответ: 7
Задание 4
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun10, которая в заданном диапазоне активного Листа Excel вычисляет сумму чисел, кратных заданному числу К. Заголовок функции, который должен иметь вид: Function fun10(A As Variant, K), уже создан в модуле 1, необходимо только записать тело процедуры.На листе 1 книги выполните функцию и полученное в ячейке B13 значение введите в ответ теста.
Решение:
Public Function fun10(a As Variant, k As Double)
Dim s As Double, i As Variant
c = 0
For Each i In a
If i Mod k = 0 Then s = s + i
Next i
fun10 = s
End Function
Ответ: 5
Задание 5
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun9, которая в заданном диапазоне Листа Excel вычисляет сумму положительных чисел диапазона. Заголовок функции, который должен иметь вид: Function fun9(A As Variant), уже создан в модуле 1, необходимо только записать тело процедуры. На листе 1 книги выполните функцию и полученное в ячейке B12 значение введите в ответ теста.
Решение:
Public Function fun9(a As Variant) As Double
Dim s As Double, i As Variant
s = 0
For Each i In a
If i > 0 Then s = s + i
Next i
fun9 = s
End Function
Ответ:25
Задание 7
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc2, которая в выделенном диапазоне активного Листа Excel вычисляет сумму четных отрицательных чисел. Результат процедура должна вернуть в ячейку B15.
Заголовок процедуры, который должен иметь вид: Procedure Proc2(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
s = 0
For Each i In a
If i Mod 2 = 0 And i < 0 Then s = s + i
Next i
Cells(15, 2).Value = s
End Sub
Ответ: -6
Задание 8:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте функцию VBA с именем Fun9, которая в заданном диапазоне Листа Excel вычисляет количество положительных чисел диапазона.
Заголовок функции, который должен иметь вид: Function fun9(A As Variant), уже создан в модуле 1, необходимо только записать тело процедуры.
На листе 1 книги выполните функцию и полученное в ячейке B12 значение введите в ответ теста.
Решение:
Public Function fun9(a As Variant) As Double
Dim s As Double, i As Variant
s = 0
For Each i In a
If i > 0 Then s = s + 1
Next i
fun9 = s
End Function
Ответ: 8
Задание 9:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc1, которая в диапазоне K1:N4 активного Листа Excel вычисляет сумму отрицательных чисел. Результат процедура должна вернуть в ячейку B14.
Заголовок процедуры, который должен иметь вид: Procedure Proc1(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B14 значение введите в ответ теста.
Решение:
Public Sub Proc1()
Dim a As Range, i As Variant, s As Double
Set a = Range("K1:N4")
s = 0
For Each i In a
If i < 0 Then s = s + i
Next i
Cells(14, 2).Value = s
End Sub
Ответ: -6
Задание 10:
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, составьте подпрограмму VBA с именем Proc2, которая в выделенном диапазоне активного Листа Excel находит наибольшее число. Результат процедура должна вернуть в ячейку B15.
Заголовок процедуры, который должен иметь вид: Procedure Proc2(), уже создан в модуле 2, необходимо только записать тело процедуры.
На листе 1 книги выполните подрограмму и полученное в ячейке B15 значение введите в ответ теста.
Решение:
Public Sub Proc2()
Dim a As Range, i As Variant, s As Double
Set a = Selection
Max = a(1, 1)
For Each i In a
If i > Max Then Max = i
Next i
Cells(15, 2).Value = Max
End Sub
Ответ: 140
Задание 1,2
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm2 (уже создана), которая на интервале от M до N находит сумму простых чисел. Результат должен быть получен в текстовом поле TextBox3 (Результат).
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm2.
На листе 1 книги выполните форму UserForm2 и полученное в ячейке B19 значение введите в ответ теста.
Решение:
Открываем Userform2, 2 раза щёлкаем по кнопке Выполнить
Сначала пишем прогу для простых чисел
Public Function prostoe(ByVal n As Long) As Boolean
Dim i As Long
prostoe = True
If n > 1 Then
For i = 2 To Sqr(n)
If n Mod i = 0 Then
prostoe = False
Exit For
End If
Next i
Else
prostoe = False
End If
End Function
Потом пишем форму
Private Sub CommandButton1_Click()
m = Val(TextBox1.Text)
n = Val(TextBox2.Text)
Dim i As Long, s As Double
s = 0
For i = m To n
If prostoe(i) = True Then s = s + i
Next i
TextBox3.Text = Format(s)
End Sub
Нажимаем выполнить UserForm2 и, в появившемся окне, нажимаем на выполнить
Ответ: Сумма простых : 72
Если нужно найти количество , то вместо этого If prostoe(i) = True Then s = s + i, пишем If prostoe(i) = True Then s = s + 1
Ответ: Количество : 6
Задание 3,4.
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm1 (уже создана), которая среди трех заданых в форме чисел A, B, C , задающих коэффициенты квадратного уравнения, находит сумму корней уравнения. Если корней не существует, возвращает сово "нет". Результат должен быть получен в текстовом поле TextBox4 (Результат).
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm1.
На листе 1 книги выполните форму UserForm1 и полученное в ячейке B18 значение введите в ответ теста.
Решение:
Private Sub CommandButton1_Click()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
Dim d As Double, x1 As Double, x2 As Double, s As Double
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
s = x1 + x2
TextBox4.Text = Format(s)
Else
TextBox4.Text = "Нет"
End If
End Sub
Ответ: 8
Если произведение корней, то вместо этого s = x1 + x2, пишем s = x1 * x2
Ответ: 15
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm2 (уже создана), которая на интервале от M до N находит сумму простых чисел. Результат должен быть получен в текстовом поле TextBox3 (Результат).
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm2.
На листе 1 книги выполните форму UserForm2 и полученное в ячейке B19 значение введите в ответ теста.
Открываем Userform2, 2 раза щёлкаем по кнопке Выполнить
Сначала пишем прогу для простых чисел
Public Function prostoe(ByVal n As Long) As Boolean
Dim i As Long
prostoe = True
If n > 1 Then
For i = 2 To Sqr(n)
If n Mod i = 0 Then
prostoe = False
Exit For
End If
Next i
Else
prostoe = False
End If
End Function
Потом пишем форму
Private Sub CommandButton1_Click()
m = Val(TextBox1.Text)
n = Val(TextBox2.Text)
Dim i As Long, s As Double
s = 0
For i = m To n
If prostoe(i) = True Then s = s + i
Next i
TextBox3.Text = Format(s)
End Sub
Нажимаем выполнить UserForm2 и, в появившемся окне, нажимаем на выполнить
Ответ:
Сумма простых – 72
Если количество нужно найти, то вместо этого If prostoe(i) = True Then s = s + i, пишем If prostoe(i) = True Then s = s + 1
Количество – 6
В книге Excel "Данные к тесту VBA", размещенной в учебных материалах к модулю, доработайте пользовательскую форму VBA с именем UserForm1 (уже создана), которая среди трех заданых в форме чисел A, B, C , задающих коэффициенты квадратного уравнения, находит сумму корней уравнения. Если корней не существует, возвращает сово "нет". Результат должен быть получен в текстовом поле TextBox4 (Результат).
Имена полей, форм и кнопок изменять не надо. Требуется только написать операторы в тело процедуры кнопки Выполнить, уже созданой в форме UserForm1.
На листе 1 книги выполните форму UserForm1 и полученное в ячейке B18 значение введите в ответ теста.
Private Sub CommandButton1_Click()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
c = Val(TextBox3.Text)
Dim d As Double, x1 As Double, x2 As Double, s As Double
d = b ^ 2 - 4 * a * c
If d >= 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
s = x1 + x2
TextBox4.Text = Format(s)
Else
TextBox4.Text = "Нет"
End If
End Sub
Ответ: 8
Если произведение корней, то вместо этого s = x1 + x2, пишем s = x1 * x2
Ответ: 15
Какая функция VBA возвращает подстроку ? |
Правильно |
1 / 1 |
Mid |
|
|
Len |
|
|
Str |
|
|
Chr |
|
|
такой функции в VBA нет |
|
|
Какое значение получит строковая переменная S после выполнения следующих операторов VBA:
S="Победа"
S=Mid(S,3,2)
Ответ: бе
Какое значение получит строковая переменная S после выполнения следующих операторов VBA:
S="Победа"
S=Mid(S,3)
Ответ: