Новоуренгойский филиал Профессионального
образовательного учреждения
«Уральский региональный колледж»
КУРСОВАЯ РАБОТА
Макросы.
технология создания
МДК 01.02 ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ
09.02.03 Программирование в компьютерных
системах
Обучающегося
гр. П-370 ________ Грибанова Никиты Александровича
16.11.2020
Оценка
за выполнение и защиту курсовой работы _____________
Проверил
__________ Карасова Аида
Абдулкадыровна
21.11.2020
Новый Уренгой, 2020
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
3
1.АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
4
1.1 Среда разработки
Visual Basic for Application 4
1.1 Математические операторы
6
1.2 Строковые операторы
6
1.3 Операторы сравнения
7
1.4 Логические операторы
7
1.5 Числовые типы
данных 8
1.6 Встроенные функции
8
2. КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ
13
2.1 Макрос 13
2.2 Создание макросов
14
2.4 Запись макроса
16
ЗАКЛЮЧЕНИЕ 24
СПИСОК ЛИТЕРАТУРЫ
25
Макрос
— это программа, состоящая из списка команд, которые должны быть выполнены
приложением. Макрос служит для объединения нескольких различных действий в одну
процедуру, которую можно легко вызвать. Этот список команд состоит в основном
из макрокоманд, которые тесно связаны с командами приложения, в котором вы
создаете макрос — т. е. с командами Word, Excel или других приложений Microsoft
Office. Запись макросов позволяет не просто запомнить последовательность
вызовов команд меню, нажатий на кнопки мыши и ввод данных с клавиатуры, но и
перевести эти действия на объектно-ориентированный язык программирования Visual
Basic для приложений (Visual Basic for Applications, в дальнейшем просто VBA) и
сохранить их в виде готовой к выполнению программы.
VBA
является полноценным языком программирования, позволяющим записать не только
последовательно выполняемые пользователем действия, но и содержащим все
необходимые конструкции языка программирования высокого уровня, включая
разнообразные средства организации ветвлений, циклов и ведения диалога с
пользователем. Весьма удобный редактор VBA позволяет не только писать и
редактировать программы, но и вести их отладку.
В
своей курсовой работе я расскажу о макросах и технологиях их создания в Visual
Basic for Applications.
Целью
курсовой работы является изучение программирования базовых алгоритмов на языке
Visual Basic for Applications (MS Excel), получение знаний и навыков по работе
с объектами в офисных программах MS Excel и MS Word.
Для
достижения цели были проставлены следующие задачи:
1.
Рассмотреть предметную
область.
2. Определить назначение
макросов. 3.
Показать технологию создания макроса.
1.АНАЛИЗ
ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Среда
разработки Visual Basic for Application
VBA
– отличное средство автоматизации не только простых рутинных операций, которые
пользователю приходится периодически выполнять, например, при подготовке
текстов в Word или расчётов в Excel, но и сложнейших вычислений над большими
объёмами данных.
Очень
важным фактором, обуславливающим целесообразность наличия у специалиста любого
профиля хотя бы минимальных знаний о VBA, является то, что в настоящее время
VBA становится стандартом де-факто в качестве встроенного языка
программирования не только приложений, поставляемых компанией Microsoft.
Дело
в том, что Microsoft лицензирует ядро VBA и предоставляет технологию его
использования другим компаниям, разрабатывающим программное обеспечение для
самых разных предметных областей – от картографии до бизнеса. Очевидно, что
наборы объектов этих приложений коренным образом отличаются наборов объектов
приложений Microsoft Office. Однако язык программирования и технология работы с
объектами, их свойствами и методами одни и те же.
Квалифицированному
пользователю, профессионально работающему с каким-либо приложением, необходимо
как можно лучше знать все объекты приложения, с которыми ему придётся работать.
Когда же этому пользователю придётся что-либо автоматизировать для выполнения
часто встречающихся операций, то, если в это приложение встроен VBA,
пользователю будет предоставлены язык программирования, среда разработки и
технология работы с объектами, хорошо знакомые ему, например, по Excel.
Язык
Visual Basic for Applications является одной из версий популярного языка
разработки приложений Visual Basic.
В
чём же отличия двух языков?
-
Язык Visual Basic разрабатывался для создания законченных самостоятельных
приложений, VBA используется для автоматизации существующих приложений;
-
Visual Basic имеет собственную среду программирования, VBA использует среду
приложения;
-
Для выполнения разработанной программы созданной в Visual Basic, пользователю
не обязательно иметь доступ к самой среде программирования, т.к. разработанные
приложения можно скомпилировать в .EXE файлы. VBA - приложения могут
выполняться только в том приложении, в котором они были созданы;
Общими
для VBA и VB являются:
-
Язык программирования (во всех аспектах – типы данных, правила объявления и
использования переменных, процедур и функций);
-
Во многом похожие средства разработки и отладки программ;
-
Аналогичные модели объектно-ориентированного и событийно-управляемого
программирования;
-
Общие библиотеки объектов, механизмы подключения и использования библиотек;
С
помощью VBA пользователь может решать следующие задачи:
-
Автоматизировать повторяющиеся действия;
-
Настроить интерфейс Excel с помощью модификации существующих или создания новых
панелей инструментов, меню и пользовательских форм;
-
Вносить дополнительную функциональность в среду Excel;
В
Excel часто приходится выполнять одни и те же действия: набирать одинаковые
заголовки строк и столбцов, часто пользоваться одними и теми же
последовательностями команд, регулярно применять одни и те же способы форматирования.
К счастью, Excel позволяет ускорить этот рутинный процесс.
Операции
используются для объединения простых выражений в сложные. В состав VBA входят
арифметические, символьные (строковые), логические операции и операции
отношения.
Оператор
|
Действие
|
Приоритет
(1 – высший; 5 – низший)
|
^
|
Оператор возведения в
степень
|
1
|
*
|
Оператор умножения
|
2
|
/
|
Оператор деления
|
2
|
\
|
Оператор деления без остатка
– возвращает результат деления двух чисел без остатка. Например, 7\4 возвратит
результат 1
|
3
|
Mod
|
Оператор модуля (остатка) –
возвращает остаток от деления двух чисел. Например, 8 Mod 3 возвратит
результат 2.
|
4
|
+
|
Оператор сложения
|
5
|
–
|
Оператор вычитания
|
5
|
Основной
строковый оператор в Excel VBA – это оператор конкатенации & (слияние):
Оператор
|
Действие
|
&
|
Оператор конкатенации. К
примеру, выражение “A” & “B” возвратит результат AB.
|
Операторы
сравнения используются для сравнения двух чисел или строк и возвращают
логическое значение типа Boolean (True или False). Основные операторы
сравнения Excel VBA перечислены в этой таблице:
Оператор
|
Действие
|
=
|
Равно
|
<>
|
Не равно
|
<
|
Меньше
|
>
|
Больше
|
<=
|
Меньше либо равно
|
>=
|
Больше либо равно
|
Логические
операторы, как и операторы сравнения, возвращают логическое значение типа Boolean (True
или False). Основные логические операторы Excel VBA перечислены в таблице ниже:
Оператор
|
Действие
|
And
|
Операция конъюнкции,
логический оператор И.Например, выражение A And B возвратит True,
если A и B оба равны True, в противном случае
возвратит False.
|
Or
|
Операция дизъюнкции,
логический оператор ИЛИ. Например, выражение A Or B возвратит True,
если A или B равны True, и возвратит False,
если A и B оба равны False.
|
Not
|
Операция отрицания,
логический оператор НЕ. Например, выражение Not A возвратит True,
если A равно False, или возвратит False, если A равно True.
|
Числовые
типы данных различаются размером и диапазоном допустимых значений. Размер – это
количество байтов, которое занимает значение данного типа в памяти. Диапазон
допустимых значений определяет наибольшее и наименьшее значение для переменной
данного типа.
VBA
позволяет описывать и использовать переменные и константы различных типов. По
типу используемых значений различаются также свойства объектов и функции. В VBA
используются числовые, строковые (символьные), логический тип данных, тип
данных даты и времени, объектный тип данных, а также наиболее общий тип данных,
используемый по умолчанию, – тип Variant.
В
VBA доступно множество встроенных функций, которые могут быть использованы при
написании кода. Ниже перечислены некоторые из наиболее часто используемых:
Функция
|
Действие
|
Abs
|
Возвращает абсолютную
величину заданного числа.
Пример:
- Abs(-20) возвращает значение 20;
- Abs(20) возвращает значение 20.
|
Chr
|
Возвращает символ ANSI,
соответствующий числовому значению параметра.
Пример:
- Chr(10) возвращает перенос строки;
- Chr(97) возвращает символ a.
|
Date
|
Возвращает текущую системную
дату.
|
DateAdd
|
Добавляет определённый
временной интервал к заданной дате. Синтаксис функции:
DateAdd(интервал, число, дата)
Где аргумент интервал определяет
тип временного интервала, добавляемого к заданной дате в
количестве, указанном в аргументе число.
Аргумент интервал может
принимать одно из следующих значений:
Интервал
|
Значение
|
yyyy
|
год
|
q
|
квартал
|
m
|
месяц
|
y
|
день года
|
d
|
день
|
w
|
день недели
|
ww
|
неделя
|
h
|
час
|
n
|
минута
|
s
|
секунда
|
Пример:
- DateAdd(“d”, 32,
“01/01/2015”) добавляет 32
дня к дате 01/01/2015 и, таким образом, возвращает дату 02/02/2015.
- DateAdd(“ww”, 36,
“01/01/2015”) добавляет 36
недель к дате 01/01/2015 и возвращает дату 09/09/2015.
|
DateDiff
|
Вычисляет количество
определённых временных интервалов между двумя заданными датами.
Пример:
- DateDiff(“d”,
“01/01/2015”, “02/02/2015”) вычисляет
количество дней между датами 01/01/2015 и 02/02/2015, возвращает
результат 32.
- DateDiff(“ww”,
“01/01/2015”, “03/03/2016”) вычисляет
количество недель между датами 01/01/2015 и 03/03/2016, возвращает
результат 61.
|
Day
|
Возвращает целое число,
соответствующее дню месяца в заданной дате.
Пример: Day(“29/01/2015”) возвращает
число 29.
|
Hour
|
Возвращает целое число,
соответствующее количеству часов в заданном времени.
Пример: Hour(“22:45:00”) возвращает
число 22.
|
InStr
|
Принимает в качестве
аргументов целое число и две строки. Возвращает позицию вхождения второй
строки внутри первой, начиная поиск с позиции, заданной целым числом.
Пример:
- InStr(1, “Вот искомое
слово”, “слово”) возвращает
число 13.
- InStr(14, “Вот искомое
слово, а вот еще искомое слово”, “слово”) возвращает число 38.
Примечание: Аргумент-число может быть не задан, в таком случае поиск
начинается с первого символа строки, заданной во втором аргументе функции.
|
Int
|
Возвращает целую часть
заданного числа.
Пример: Int(5.79) возвращает
результат 5.
|
Isdate
|
Возвращает True, если заданное
значение является датой, или False – если датой не является.
Пример:
- IsDate(“01/01/2015”) возвращает True;
- IsDate(100) возвращает False.
|
IsError
|
Возвращает True, если
заданное значение является ошибкой, или False – если ошибкой не
является.
|
IsMissing
|
В качестве аргумента функции
передаётся имя необязательного аргумента процедуры. IsMissing возвращает True,
если для рассматриваемого аргумента процедуры не передано значение.
|
IsNumeric
|
Возвращает True, если
заданное значение может быть рассмотрено как число, в противном случае
возвращает False.
|
Left
|
Возвращает заданное
количество символов от начала переданной строки. Синтаксис функции вот такой:
Left(строка, длина)
где строка –
это исходная строка, а длина – количество возвращаемых символов,
считая от начала строки.
Пример:
- Left(“абвгдежзиклмн”,
4) возвращает строку
“абвг”;
- Left(“абвгдежзиклмн”,
1) возвращает строку
“а”.
|
Len
|
Возвращает количество
символов в строке.
Пример: Len(“абвгдеж”) возвращает
число 7.
|
Month
|
Возвращает целое число,
соответствующее месяцу в заданной дате.
Пример: Month(“29/01/2015”) возвращает
значение 1.
|
Mid
|
Возвращает заданное
количество символов из середины переданной строки. Синтаксис функции:
Mid(строка, начало, длина)
где строка –
это исходная строка, начало – позиция начала извлекаемой
строки, длина – количество символов, которые требуется
извлечь.
Пример:
- Mid(“абвгдежзиклмн”, 4,
5) возвращает строку
“гдежз”;
- Mid(“абвгдежзиклмн”,
10, 2) возвращает строку
“кл”.
|
Minute
|
Возвращает целое число,
соответствующее количеству минут в заданном времени.Пример: Minute(“22:45:15”) возвращает
значение 45.
|
Now
|
Возвращает текущую системную
дату и время.
|
Right
|
Возвращает заданное
количество символов от конца переданной строки. Синтаксис функции:
Right(строка, длина)
Где строка –
это исходная строка, а длина – это количество символов,
которые надо извлечь, считая от конца заданной строки.
Пример:
- Right(“абвгдежзиклмн”,
4) возвращает строку
“клмн”;
- Right(“абвгдежзиклмн”,
1) возвращает строку
“н”.
|
Second
|
Возвращает целое число,
соответствующее количеству секунд в заданном времени.
Пример: Second(“22:45:15”) возвращает
значение 15.
|
Sqr
|
Возвращает квадратный корень
числовой величины, переданной в аргументе.
Пример:
- Sqr(4) возвращает значение 2;
- Sqr(16) возвращает значение 4.
|
Time
|
Возвращает текущее системное
время.
|
Ubound
|
Возвращает верхний индекс
измерения заданного массива.
Примечание: Для многомерных массивов в качестве необязательного
аргумента может быть указано, индекс какого именно измерения нужо возвратить.
Если не указано, то по умолчанию равно 1.
|
Year
|
Возвращает целое число,
соответствующее году в заданной дате.Пример: Year(“29/01/2015”) возвращает
значение 2015.
|
Макрос
(макрокоманда) представляет собой процедуру на языку VBA, в которой содержится
запись последовательности команд или операций, выполняемых в Excel.
Макросы
– это дополнительные инструменты, не входящие в стандартный арсенал приложений MS Excel,
MS Word
и других, которые позволяют более гибко, наглядно и быстро решать те или иные
офисные задачи.(Рисунок 1)
При
создании макроса Excel отслеживает каждое нажатие клавиши и щелчок кнопками
мыши и записывает их в макрос. При выполнении макроса все записанные в нем
действия воспроизводятся автоматически, как если бы их выполняли вручную.
Работа
с макросами возможна, если установлена средняя (лучше) или низкая безопасность
(команда Сервис – Макрос – Безопасность.)
Рис.1-Приложение
макроса.
Существует
два способа создания макроса: протоколирование и программирование (написание
программы) на языке Visual Basic for Application (VBA).
Протоколирование
– это способ создания макроса, когда происходит протокольная запись всех
действий пользователя, включая выбор команд меню и нажатие комбинаций клавиш,
которые преобразуются в операторы языка VBA и сохраняются в отдельном файле. В
этом случае при создании макроса регистрируются все действия пользователя и переводятся
в команды языка VBA.(Рисунок 2)
Рис.2-Способ
протоколирование макроса.
Написание
программы на языке VBA – более сложный способ, однако он позволяет создавать
очень мощные макросы, которые не могут быть созданы при протоколировании.(Рисунок
3)
Рис.3-Способ на языке программирование
макроса.
При
создании макроса в режиме протоколирования следует помнить, какие действия
пользователя записываются в процессе записи макроса, а именно:
- ввод текста;(Рисунок 4)
Рис.4-Ввод текст.
- переключение раскладки клавиатуры;(Рисунок
5)
Рис.5-Сочетание
клавиш.
- перемещение по документу;
- выделение объектов;
-
переключение
между документами;(Рисунок 6,7)
Рис.6,7-переключения
между документами.
- выбор команд и нажатие кнопок на панели
инструментов;
2.3 Макросы в excel
По
умолчанию, вкладка, отвечающая за управление и навигацию макросов в Excel,
скрыта. Чтобы активировать данную опцию перейдите по вкладке Файл в группу
Параметры. В появившемся диалоговом окне Параметры Excel,
перейдите по вкладке Настройка ленты, в правом поле со списком ставим маркер
напротив вкладки Разработчик. Данные действия актуальны для версий Excel
2010 и старше. (Рисунок 8)
Рис.8-Настройка
ленты.
На
ленте появиться новая вкладка Разработчик с элементами управления автоматизации
Excel. (Рисунок 9)
Рис.9-Панель
инструментов.
Создать макрос
- Открываем язык Vba и начинаем программировать;
- Теперь создаем макрос под названием
«Оформление». Вариант макроса оформление;
Sub оформление()
Dim r As Range
Set r
= Selection
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
r.Rows(1).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Font.Bold = True
End Sub
- Результат; (Рисунок 10)
Рис.10-Результат.
Задание:
создать макрос сумма, который суммирует числа в выделенном диапазоне и помещает
результат под эти диапазоном.
- Вводим случайные числа в любые ячейки и
выделяем их, чтобы наш макрос знал какой диапазон; (Рисунок 11)
Рис.11-Выделение
ячейки.
- Создаем макрос под
названием «Сумма». Вариант макроса Сумма;
Sub Сумма()
s = Selection.Address
‘определение адреса диапазона
n = Selection.Row
'номер ряда начальной ячейки диапазона
m = Selection.Column
'номер колонки начальной ячейки диапазона
a = Selection.Rows.Count
'количество рядов диапазоне
b = Selection.Columns.Count
'количество столбцов диапазоне
Cells(n + a, m + b).FormulaLocal = "=СУММ("
+ s + ")"
End Sub
- Результат, в котором мы получили сумму
этих четырех чисел; (Рисунок 12)
Рис.12- Сумма четырех чисел.
Задание:
Создать макрос «Ряд», чтобы для выделенного диапазона получить натуральный ряд.
- Сначала мы выделяем любой столбец, чтобы
наш макрос работал; (Рисунок 13)
Рис.13-Выделение
столбца.
- Создаем макрос под названием «Ряд».
Вариант макроса Ряд;
Sub ряд()
Dim r As Range
Set r = Selection 'сохранение выделенного
диапазона
n = r.Row 'Номер вехнего ряда
m = r.Column 'Номер левого столбца
k = r.Rows.Count 'Количество выделеных
рядов
Cells(n, m).Select
ActiveCell.FormulaR1C1 = "1"
Range(Cells(n, m), Cells(n + k, m)).Select
Selection.DataSeries Rowcol:=xlColumns,
Type:=xlLinear, Date:=xlDay
step = 1
Trend = False
End Sub
- Результат, в котором мы получаем
натуральные числа; (Рисунок 14)
Рис.14-Натуральные
числа
Задание: Используя
VBA в MS Excel,
разработаем пользовательскую форму «Расчет прибыли» для расположенной нижу
таблицы (Рисунок 15).
Рис.15-Таблица
«Расчет прибыли»
Код программы:
Dim VR, VD, S, NP
As Single 'задание типа переменных
Dim BP, SN, RP As
Single 'задание типа переменных
Private Sub
calc_Click()
VR =
Val(txtVR.Text) 'считывание значения выручки от реализации
S = Val(txtS.Text)
'считывание значения себестоимости
VD =
Val(txtVD.Text) 'считывание значения внереализационного дохода
NP =
Val(txtNP.Text) / 100 'считывание значения налога на прибыль и перевод его доли
BP = VR + VD + S
'вычисление балансовой прибыли
SN = BP * NP
'вычисление суммы налога
RP = BP - SN
'вычисление размера прибыли
txtBP.Text = BP
'вывод балансовой прибыли в текстовое поле
txtSN.Text = SN
'вывод суммы налога в текстовое поле
txtRP.Text = RP
'вывод размера прибыли в текстовое поле
calc.BackColor =
Rnd * 10 ^ 5 'изменение цвета фона кнопки для визуализации того, что процесс
вычислений выполнен
End Sub
Private Sub clean_Click()
txtVR.Text = Clear
txtS.Text = Clear
txtVD.Text = Clear
txtNP.Text = Clear
txtBP.Text = Clear
txtSN.Text = Clear
txtRP.Text = Clear
Cells(2,
1).ClearContents
Cells(2, 2).ClearContents
Cells(2, 3).ClearContents
Cells(2, 4).ClearContents
Cells(2, 5).ClearContents
Cells(2, 6).ClearContents
Cells(2, 7).ClearContents
End Sub
Private Sub
exitForm_Click()
UserForm1.Hide
End Sub
Private Sub
printToTable_Click()
Cells(2, 1) = VR
'вывод значения выручки от реализации в ячейку А2
Cells(2, 2) = S
'вывод значения себестоимости в ячейку В2
Cells(2, 3) = VD
'считывание значения внереализационного дохода в ячейку С2
Cells(2, 4) = BP
'считывание значения балансовой прибыли в ячейку D2
Cells(2, 5) = NP
'считывание значения налога на прибыль в ячейку Е2
Cells(2, 6) = SN
'считывание значения суммы налога в ячейку F2
Cells(2, 7) = RP
'считывание значения размера прибыли в ячейку G2
printToTable.BackColor
= Rnd * 10 ^ 5 'изменение цвета фона кнопки для визуализации того, что процесс
вычислений выполнен
End Sub
В
данной работе приведён пример базовых алгоритмов на языке Visual Basic for Applications
(MS Excel), получены знания и навыки по работе с объектами в офисных программах
MS Excel и MS Word.
Для
этого были решены следующие задачи:
1.
Рассмотреть предметную область.
2. Определить назначение макросов.
3. Показать технологию создания макроса.
Источниками
информации для раскрытия данной темы послужили методические пособия и другие.
Макрос
является программой, состоящей из списка команд, который мы рассматривали в
данной работе. В рамках курсовой работы был проведен анализ, а также созданы и
отредактированы макросы в приложение «Microsoft Office Excel». Был изучен
макрос и технологии его создания. При тестировании задач не было обнаружено
ошибок и недочётов. В следствии этого можно сделать выводы, что поставленные цели
и задачи были выполнены, навыки изучены и закреплены.
Список
Литературы
1. Гарбер
Г.З._Основы програмирования на VB и VBA в Excel2007/ Гарбер Г.З. – М.:
«Солон-Пресс», 2017. — 192 с.: ил.
2.
Гарнаев А.Ю. Самоучитель VВА / Гарнаева А.Ю. - СПБ.: БХВ-
Санкт-Петербург, 2015. — 512 с.
3.
Геворкян Г. Х., Семенов В. Н. Бейсик – это просто / Геворкян Г.
Х., Семенов В. Н. – М.: Радио и связь, 2016. – 144с.
4.
Красильников И.В., Гартман Т.Н. посбие для работы на компьютере /
Красильников И.В., Гартман Т.Н. – М.: 2014. — 101 с.
5. https://works.doklad.ru/view/-E0Zxuu96hA.html-
«Создание и использование макросов». Создано 2016 года
6.
https://intuit.ru/studies/courses/984/230/lecture/5982?page=1- «Запись макросов», Лекция 9 первая страница. Создано 2018 года
7.
https://studopedia.net- «Среда разработки VBA». Лекция 10 страница 11, Создано2017 года
8. Ошибка! Недопустимый объект гиперссылки.
операции VBA». Создано в Ноябре 2015
года
9.
https://baguzin.ru- «Функции VBA». Создано в Марте 2017 года
10. https://maxfad.ru- «Внутрение функции». Создано в марте 2018 года
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.