![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема роботи: Створення програм - додатків мовою VBAСодержание книги
Поиск на нашем сайте
Мета роботи: закріплення навичок програмування лінійних та розгалужених алгоритмів на мові VBA. План: 1. Створення функцій користувача. 2. Налаштування програм – додатків, створених мовою VBA 3. Завантаження програм. 4. Створення програм для розгалужених функцій. ТЕОРЕТИЧНІ ВІДОМОСТІ Створення функцій користувача. Крім функцій, які можна обчислювати за допомогою Мастера функций, в MS Excel можна обчислювати значення будь-яких інших функцій, наприклад, Розглянемо технологію створення програм для обчислення таких функцій на прикладі функції Далі, в вікно редактора необхідно ввести: Function y(x As Double) As Double (1) y = x ^ 2 + 2 * x – 3 End Function В першому рядку вказується ім’я функції та типи аргументу х та функції у (Double - з плаваючою точкою подвійної точності). Закінчується робота з редактором натисненням кнопки Переконатись в цьому! Для цього звернутись до бібліотеки функцій за допомогою Розглянемо технологію створення програми на VBA, яка здійснює табуляцію даної функції, якщо Sub demo() (2) Range(“a1”).Value = 0 Range(“a1”).DataSeries RowCol:=xlColumns, Type:=xlDataSeriesLinear, Step:=0.5, Stop:=10 Dim rgn As Range Set rgn = Range(“a1”).CurrentRegion Set rgn = rgn.Offset(0, 1) Range(“b1”).Formula = “=y(a1)” Range(“B1”).AutoFill Destination:=rgn, Type:=xlFillCopy rgn.NumberFormat = “0.000” End Sub Завантаження програм. Щоб завантажити створену програму використовується меню Run,Run Sub вікна Microsoft Visual Basic або з вікна MS Excel. Після завантаження цього модуля отримаємо таблицю значень як на рис.11.1. Проаналізуємо окремі інструкції цього модуля. За допомогою інструкції Range(«a1»).Value = 0 в коміркуА1 вводиться число 0. Щоб заповнити діапазон елементами прогресії (0,5;1;1,5…,10) використовується метод DataSeries; він має параметри: RowCol визначає напрямок, в якому створюється прогресія, тобто вздовж стовпців (xlColumns); Type визначає тип прогресії, у цьому випадку xlDataSeriesLinear (лінійна, використовується за замовчуванням); Step визначає крок змінення прогресії (за замовчуванням дорівнює 1); Stop –граничне значення прогресії.
Наступна інструкція визначає поточний діапазон, в якому розташовані значення аргументів, для функції, значення якої обчислюються: Dim rgn As Range Set rgn = Range(“a1”).CurrentRegion,
Додамо до програми, так званий, елемент керування, у вигляді рядка керування (строки ввода) для того, щоб була можливість вводити будь-яке початкове значення аргументу Dim n As String n = InputBox(«Введіть початкове значення аргументу функції») Debug.Print n
Після внесення цих змін, програма прийме вигляд: Sub demo() Dim rgn As Range Dim n As String n = InputBox(«Введіть початкове значення аргументу функції») Debug.Print n Range(«a1»).Value = n Range(«a1»).DataSeries RowCol:=xlColumns, Type:=xlDataSeriesLinear, Step:=0.5, Stop:=10 Set rgn = Range(«a1»).CurrentRegion Set rgn = rgn.Offset(0, 1) Range(«b1»).Formula = «=y(a1)» Range(«B1»).AutoFill Destination:=rgn, Type:=xlFillCopy rgn.NumberFormat = «0.000» End Sub Додамо до програми фрагмент, який в комірки В1 і С1 поточного аркушу вводить поточну дату та прізвище, ім’я розробника цієї програми: Dim t As Date t = FormatDateTime(Now) Range(«c1»).Value = t Range(«d1»).Value = «Кравцова Ганна»
Кінцевий вигляд програми буде такий: Sub demo() Dim rgn As Range Dim n As String Dim t As Date n = InputBox(«Введіть початкове значення аргументу функції») Debug.Print n Range(«a1»).Value = n (3) Range(«a1»).DataSeries RowCol:=xlColumns, Type:=xlDataSeriesLinear, Step:=0.5, Stop:=10 Set rgn = Range(«a1»).CurrentRegion Set rgn = rgn.Offset(0, 1) Range(«b1»).Formula = «=y(a1)» Range(«B1»).AutoFill Destination:=rgn, Type:=xlFillCopy rgn.NumberFormat = «0.000» t = FormatDateTime(Now) Range(«c1»).Value = t Range(«d1»).Value = «Кравцова Ганна» End Sub
Програма-функція матиме вигляд: Function yy(x As Double) As Double If x < 0 Then yy = 1 / x Else
yy = Sqr(x) (4) End If End Function Програмний модуль, що виконує табулювання цієї функції буде мати вигляд: Sub demo2() Dim rgn As Range Dim n, m, k As String n = InputBox("Введіть початкове значення аргументу функції") Debug.Print n Range("a1").Value = n (5) m = InputBox("Введіть кінцеве значення аргументу функції") Debug.Print m k = InputBox("Введіть значення приросту аргументу функції") Debug.Print k Range("a1").DataSeries RowCol:=xlColumns,Type:=xlDataSeriesLinear, Step:=k, Stop:=m Set rgn = Range("a1").CurrentRegion Set rgn = rgn.Offset(0, 1) Range("b1").Formula = "=yy(a1)" Range("B1").AutoFill Destination:=rgn, Type:=xlFillCopy rgn.NumberFormat = "0.000" End Sub Звернути увагу на те, що кінцеве значення аргументу функції та його приріст теж задаються через рядок введення! Крім функцій, що були використані, в Excel, можна обчислювати ще й наступні: ЗАВДАННЯ ДО ПРАКТИЧНОЇ РОБОТИ: І. Створити програму для обчислення значень лінійної функції згідно варіанту (за зразком 1). 1. 3. 5. 7. 9. ІІ. Створити програму для табуляції функції з п.1. на будь-якому інтервалі (не менше 10 значень). Додати до програми команди введення в комірки електронної таблиці поточної дати та свого прізвища, імені (за зразком 3). В програмі використати рядки введення зачень початкових даних. Надрукувати результати табуляції та програму на мові VBA. ІІІ. Створити програму для обчислення значень розгалуженої функції з п.2 до практичної роботи № 10 попереднього модуля (за зразком 4). ІV. Створити програму (за зразком 5) для табуляції функції з п. ІІІ. на будь-якому інтервалі (не менше 10 значень). Додати до програми команди введення в комірки електронної таблиці поточної дати та свого прізвища, імені. В програмі використати рядки введення. Надрукувати результати табуляції та програму на мові VBA. V. Зберегти підсумки роботи на ЗНІ під ім’ям модуль.xlsx ПРАКТИЧНА робота №12
|
||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 224; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.32.171 (0.01 с.) |