
- •Vba в приложении к Excel
- •Создание программ vb для Excel
- •Задача №1 Добавить на лист личные данные, имя файла, дату и отобразить их на экране
- •1.3. Ответ на экране Задача №2 Выделить зону (Ввести начальную и конечную координаты не через Excel, а через vba)
- •2.3. Ответ Задача №3 Разукрасить выделенную зону (выполняется после задачи №2)
- •3.1. Вводим код цвета для раскраски выд. Зоны
- •4.1. Выбираем конечную строку столбца
- •4.2. Выбираем действие для выделенного участка столбца.
- •4.2. Ответ
- •Задача №5 Ввести 2-х мерный массив, в котором главная диагональ менялась на 0.
- •5.1. Вводим определённый элемент массива
- •5.2. Ответ Задача №6 Есть определённое количество товара и машина, которая должна его перевезти за один раз. (Количество, вес груза и грузоподъёмность машины задаём сами!)
- •Задача №7
- •7.1. Вводим число месяца.
- •7.2. Смотрим предыдущую дату (ответ) Задача №8 Ввести дату цифрами, вывести её на экран словами.
- •8.1. Вводим номер месяца
- •8.2. Выводим ответ на экран Задача №9
- •9.1. Вводим номер выбранного нами параметра
- •9.2. Вводим значение выбранного нами параметра
- •9.3. Одно из 4 окон ответа Задача №10 Даны 3 числа. Найти среднее из них (т.Е. Число, расположенное между min и max).
- •10.1. Введём число а
- •10.2. Выводим на экран ответ Задача №11
- •11.1. Вводим число n
- •11.2. Выводим ответ Задача №12 Вывести факториал заданного числа.
- •12.1. Вводим число а
- •12.2. Выводим ответ (Факториал) Задача № 13
- •13.1. Введём наше число, для которого надо найти пред. И послед. Число Фибоначчи.
- •13.2. Выводим ответ. Задача №14 Дан целочисленный массив размера n. Удалить из массива все одинаковые элементы, оставив их первые вхождения. (Array).
- •14.1. Вводим размерность массива
- •14.2. Вводим элемент массива
- •14.3. Выводим ответ на экран.
11.1. Вводим число n
11.2. Выводим ответ Задача №12 Вывести факториал заданного числа.
Решение.
Для решения этой задачи нам понадобится 3 переменные: a (отвечающая за то число, факториал которого мы хотим найти), b (вспомогательная переменная, над которой будут производиться действия) и f (отвечающая за факториал – какие числа должны перемножаться). Также мы должны задать нашим переменным b и f их первоначальные данные, чтобы они не были равны 0, и ввести данные числа A:
Private Sub CommandButton_Click()
Dim a As Integer
Dim b As Double
Dim f As Integer
f = 1
b = 1
a = CInt(InputBox("Введите число A"))
Далее используем оператор For, чтобы задать условие нашей задачи:
For f = 1 To a
b = b * f
Next f (переходим к следующему условию)
Далее выводим ответ на экран:
MsgBox (" Факториал числа А =" & b)
End Sub
Задача решена. Смотрим
12.1. Вводим число а
12.2. Выводим ответ (Факториал) Задача № 13
Дано целое число N (>1), являющееся числом Фибоначчи: N = Fk (число Фибоначчи: F1=1, F2=1, Fk=(Fk-2+Fk-1), k=3,4,...). Найти целые числа Fk-1 и Fk+1 – предыдущее и последующее числа Фибоначчи. Для примера: первые 23 числа ряда Фибоначчи:0,1,1,2,3,5,8,13,21,34,55,89,144,233,…..
Решение.
Для решения этой задачи понадобится 4 переменных: F0 (первое число Фибоначчи), F1 (второе число Фибоначчи), f (формула числа Фибоначчи) и n (наше число, перед и после которого мы хотим найти число Фибоначчи). Поскольку все наши 4 переменные цифры, поставим Integer. И введём наше собственное число:
Private Sub CommandButton_Click()
Dim F0, F1, f, n As Integer
n = CDbl(InputBox("Введите число N "))
f = 0
F0 = 0
F1 = 1
Далее вводим наш оператор. То есть нам надо, чтобы первое число Фибонначи было меньше нашего числа, а последующее было больше нашего числа. Одновременно должно выполняться два условия и повторялся цикл.
Do While f < n
f = F1 + F0
F0 = F1
F1 = f
Loop
Остаётся вывести ответ на экран:
MsgBox ("Предыдущее число Фибоначчи = " & F0 & ", а последующее = " & F0 + F1)
End Sub
Задача решена. Смотрим
13.1. Введём наше число, для которого надо найти пред. И послед. Число Фибоначчи.
13.2. Выводим ответ. Задача №14 Дан целочисленный массив размера n. Удалить из массива все одинаковые элементы, оставив их первые вхождения. (Array).
Решение.
Для этой задачи нам не обходимо будет 3 переменных и один массив: i (вспомогательная переменная, с помощью которой можно будет менять размерность массива), n (для размерности массива), j (ещё одна вспомогательная переменная, при помощи которой мы сможем заменять i, корда это будет необходимо) и а (отвечающая за массив в целом).
Итак, введём переменные и введём наши данные:
Private Sub CommandButton_Click()
Dim i, j, n, k As Integer
Dim a(50) As Integer
n = CDbl(InputBox("Введите размерность массива N "))
For i = 1 To n
a(i) = CDbl(InputBox("Введите " & i & "-й элемент массива"))
Next i
Далее с помощью оператора For вводим следующие условия:
For i = 1 To n - 1
For j = i + 1 To n
If a(i) = a(j) Then a(j) = 0 (Здесь программа начнёт заменять одинаковые элементы)
Next j
Next i
For i = 1 To n
После того, как все условия выполнены – надо вывести ответ на экран:
MsgBox ("Элемент А (" & i & ") равен " & a(i))
Next i (переходим к следующему числу, цикл повторяется)
End Sub
Задача решена. Смотрим