Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание пользовательских функций↑ Стр 1 из 5Следующая ⇒ Содержание книги Поиск на нашем сайте
Пользовательская функция – набор инструкций, предназначенных чаще всего для расчета, анализа и преобразования данных. Функция всегда возвращает результат. Вызов функции можно использовать на рабочем листе, обращаться к ней по имени из других функций и процедур. По умолчанию функцию можно использовать в пределах данной книги, чтобы вызвать ее из других рабочих книг, надо установить ссылку на книгу с данной функцией. Function имя ([ аргументы ]) инструкции имя =<выражение> End Sub
Пользовательские функции не могут изменять значения свойств или выполнять методы. Следовательно, в них нельзя выполнить следующие операции: · задать свойство объекта; · вставить, удалить или отформатировать ячейки; · задать или изменить содержимое ячейки; · переименовать, удалить, добавить рабочий лист; · создать, открыть, удалить рабочую книгу и пр.
Пример 1. Создать функцию, определяющую сумму или разность двух чисел по желанию пользователя
Function выбор (a, b as Currency) q=MsgBox (“Сложить?”; vbYesNo; “Ваше решение?”) If q = vbYes Then vibor = a + b else vibor = a - b End If End Function
Пример 2. Определить, возможно ли одну символьную строку сформировать из символов другой символьной строки.
Function проверка (a, s As String) For i = 1 To Len (a) For j = 1 To Len (s) If Mid (a, i, 1) = Mid (s, j, 1) Then fl = fl + 1 Next j Next i If fl >= Len (a) Then проверка = "Возможно" else проверка = "Нельзя" End Function
Задание № 1. Создать пользовательскую функцию по обработке символьных строк согласно номеру варианта (табл. 1). Таблица 1 Пользовательские функции по обработке символьных строк
Задание № 2. Создать пользовательскую функцию, рассчитывающую показатель, представленный в табл. 2. Таблица 2 Пользовательские функции
Задание №3. Сформировать таблицу и ввести в нее три записи. Количество полей и их тип выбираются с учетом номера варианта (табл. 3). Создать функцию, определяющую суммарное значение первого числового поля записей, в которых первое символьное поле удовлетворяет заданному условию. Таблица 3 Типы полей и их количество
Задачи для самостоятельной работы приведены в табл. 4. В них требуется создать пользовательскую функцию по обработке числовой информации. При решении не переводить числовую информацию в символьную и, следовательно, не применять стандартные функции по обработке символьных строк. Таблица 4 Создание пользовательских функций для обработки числовой информации.
ТЕМА № 2 ПОЛЬЗОВАТЕЛЬСКИЕ ПРОЦЕДУРЫ
Процедура - последовательность инструкций, выполняемых EXCEL. Процедуры составляют большую часть кода VBA. При ее объявлении соблюдаются правила описания процедур. Упрощенный синтаксис является следующим: Sub имя ([ аргументы ]) инструкции End Sub Следует обратить внимание на следующее: · ключевые слова Sub и End Sub используются в описании любой процедуры Sub; · параметр имя определяет имя создаваемой процедуры; · необязательный параметр [аргументы] позволяет передать в процедуру требуемые значения, многие процедуры параметров не требуют.
Тема 2.1 Ввод записей в базу данных На рабочем листе создается таблица (база данных). Для этого вводятся названия столбцов (полей). С помощью процедуры предполагается дополнение имеющихся записей в первую пустую строку базы данных. Пример 1. Требуется создать программу по вводу новой записи в таблицу.
Алгоритм решения задачи и программа методом явного перехода по ячейкам (рис. 1).
Sub Ввод_1 () Dim q As Integer, prod as Variant Range("A1").Select ActiveCell.CurrentRegion.Select q = Selection.Rows.Count ActiveCell.Cells(q + 1, 1).Activate m1: ActiveCell.Formula = InputBox(prompt:="Введите фамилию ") ActiveCell.Offset(0, 1).Activate ActiveCell.Formula = InputBox(prompt:="Введите должность") ActiveCell.Cells(1, 2).Activate ActiveCell.Formula = InputBox(prompt:="Введите оклад") Prod = MsgBox("Продолжим?", vbYesNo, "Ваши действия?") If Prod = vbYes Then ActiveCell.Offset(1, -2).Activate GoTo m1 End If Range("A1").Select End Sub
Алгоритм решения задачи (рис. 2) и программа методом ссылок на ячейки
Sub ввод_2 () i = 1 While Cells(i, 1) <> Empty i = i + 1 Wend prod = vbYes While prod = vbYes Cells(i, 1) = InputBox("Ведите фамилию сотрудника") Cells(i, 2) = InputBox("Введите должность") Cells(i, 3) = Val(InputBox("Введите оклад")) prod = MsgBox("Продолжите ввод?", vbYesNo, "Выбор") i = i + 1 Wend End Sub Тема 2.2
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-12-17; просмотров: 243; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.250.241 (0.009 с.) |