Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример задач




Visual Basic for Applications (VBA) для Excel

Visual Basic for Applications (VBA) для Excel

Visual Basic for Applications (VBA) для Excel

Взаимодействие с Excel

Код программ на VBA в Excel создается в специальном редакторе, который

доступен по горячим клавишам Alt+F11 или через меню Сервис 􀃆 Макрос 􀃆

Редактор Visual Basic

Код программ записывается в специальных модулях. Пример создания нового

модуля изображен на рисунке ниже.

Создание функции (Function)

Функция, созданная в VBA может быть вызвана как любая другая встроенная

функция MS Excel. В приведенном примере в ячейке B1 вызывается myfunc, в

которую передается содержимое ячейки A1 и присваивается переменной a$. Далее,

в ходе выполнения программы одноименной с названием функции myfunc

переменной присваивается значение, возвращаемое в рабочий лист Excel.

Создание процедуры (Sub)

Процедура (или подпрограмма или макрос) отличается от функции тем, что

1. в нее не передаются значения;

2. из нее не возвращаются значения;

⇒ процедура не может быть вызвана из ячейки листа.

Процедуры должны быть полностью автономны и получать входные данные

для расчетов из ячеек листа или из других источников самостоятельно.

Подпрограмма объявляется аналогично объявлению функции:

Sub mysub()

Rem Операторы процедуры

End Sub

Для запуска выполнения процедуры необходимо создать кнопку ее вызова.

Для этого нужно выбрать одноименную пиктограмму на панели инструментов

Формы (Вид 􀃆 Панели инструментов 􀃆 Формы) и присвоить ей выполнение

макроса. В случае, если процедура на момент создания кнопки еще не написана, то

можно указать ее в поле «Имя макроса» и нажать на кнопку «Создать» (на рисунке

внизу кнопка «Создать» заменит кнопку «Правка»).

В VBA предусмотрено несколько способов считывания данных с листа. Во

следующих двух вариантах значение из ячейки A1 будет считываться в переменную

a$.

a$=Cells(1, 1).Value

a$=Range("A1").Value

При этом первый вариант удобен для считывания большого массива ячеек с

использованием циклов. Второй – при считывании отдельных ячеек из листа.

На рисунке выше показан результат выполнения процедуры после нажатия

кнопки «Кнопка 3» или кнопки «Run Sub/UserForm». Алгоритм работы процедуры

аналогичен алгоритму работы функции рассмотренной в предыдущем разделе.

Задачи на технику и алгоритмизацию1:

1) Найти корни квадратного уравнения при заданных параметрах a,b,c.2

2) Найти N-ное число Фибоначчи3.

3) Показать разложение числа на Общие Делители.

4) Найти Наибольший Общий Делитель (НОД) двух чисел.

5) Вывести в столбец все перестановки чисел 1..N.

6) Подсчитать количество слов длины К из данных N букв, не

содержащих данное подслово.

7) Привести матрицу к треугольному виду и решить систему уравнений

методом Гаусса.

1 Задачи пронумерованы по мере усложнения алгоритмической составляющей задачи.

2 Нечетные задачи реализовать в виде подпрограмм, четные – в виде функций.

3 В том числе найти формулу определения чисел Фибоначчи.__




Поделиться с друзьями:


Дата добавления: 2015-06-28; Просмотров: 336; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.