WWW.DOC.KNIGI-X.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Различные документы
 

« ...»

Оглавление

ГЛАВА 1 ЗАПИСЬ И СОХРАНЕНИЕ АЛГОРИТМОВ В EXCEL

§ 1. Введение

1.1. Вызов редактора для написания текста алгоритма

1.2. Окно немедленного выполнения

1.3. Сохранение и открытие документов с макросами

1.4. Функции

1.5. Процедуры

1.6. Вызов функции

1.7. Вызов процедуры

1.8. Работа в редакторе

§ 2. Объекты и операторы

2.1. Константы

2.2. Особенности работы в русской версии Excel

2.3. Переменные

2.4. Символы арифметических операций

2.5. Встроенные функции

2.6. Арифметические выражения

2.7. Операция объединения (конкатенации) строк

2.8. Символы операций сравнения

2.9. Символы логических операций

2.10. Логические выражения

2.11. Приоритеты операторов

2.12. Оператор присваивания

2.13. Объявление переменных

2.14. Несколько операторов в одной строке и перенос оператора

2.15. Структура функции

2.16. Структура процедуры

2.17. Ввод данных в диалоговом режиме. Функция InputBox

2.18. Однострочный If / Then

2.19. Многострочный If / Then / End If

2.20. Оператор If / Then / Else / End If

2.21. Оператор Select Case / Case / Case Else / End Select



2.22. Оператор цикла For / Next

2.23. Оператор цикла DO While / Loop

2.24. Оператор цикла Do Until / Loop

2.25. Оператор выхода Exit

2.26. Оператор объявления массива

2.27. Присваивание значений элементам массива

2.28. Вложенные циклы

2.29. Процедуры ввода данных в ячейки. Свойства Cells и Range

2.30. Ввод формул в ячейки. Свойства Formula и FormulaLocal

2.31. Оператор With

2.32. Функции с аргументами–массивами. Свойство COUNT

2.33. Объект WorksheetFunction

ГЛАВА 2 ПЕРЕМЕННЫЕ, ТИПЫ ДАННЫХ И ОБЛАСТИ ВИДИМОСТИ

ГЛАВА 3 ОТЛАДКА МАКРОСОВ

ГЛАВА 4 ВВОД ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ФОРМ

ГЛАВА 5 ЗАДАЧИ

ГЛАВА 6 ПРИЛОЖЕНИЯ

Приложение I Свод основных операторов

Приложение II Функции рабочего листа и соответствующие методы объекта WorksheetFunction

Глава 1 Запись и сохранение алгоритмов в EXCEL § 1. Введение В EXCEL реализовано средство для записи алгоритмов обработки данных.

Алгоритмы записываются по определенным правилам на языке Visual Basic for Application (VBA) в форме функций или процедур. Тексты алгоритмов состоят из отдельных строк. Каждая строка содержит инструкцию (или ее часть), предписывающую процессору выполнить определенные действия. Такие инструкции называют операторами.

1.1. Вызов редактора для написания текста алгоритма Запустите Excel. Для работы с VBA нужно отобразить вкладку «Разработчик».

Вкладка «Разработчик» содержит средства создания макросов и форм, а также средства для работы с XML.

Для этого:

Щелкните кнопку «Office», затем.

На странице «Основные» поставьте галочку Редактор VBA вызывается кнопкой «Visual Basic» на ленте «Разработчик»

или комбинацией Alt+F11. Тексты алгоритмов пишутся и сохраняются в модулях.

Новый модуль в окне редактора VBA создается цепочкой: Insert, Module. Модулям автоматически присваиваются порядковые номера и все они сохраняются как части файла EXCEL. Один модуль может содержать тексты и функций, и процедур.

На рисунке представлен модуль, содержащий тексты двух функций и одной процедуры.

При желании, название модуля можно изменить на что-либо содержательное.

Для этого:

Выполните команду: View, Properties Window (окно Properties появится под окном Project).

В окне Project выделите модуль (например, Module1).

В окне Properties щелкните справа от (Name), удалите содержимое, введите новое имя и нажмите Enter.

Имена должны начинаться с буквы и могут быть до 40 символов в длину, включая буквы, цифры и символы подчеркивания (_).

1.2. Окно немедленного выполнения Окно немедленного выполнения — Immediate — можно отобразить нажав комбинацию клавиш Ctrl+G или с помощью меню: View, Immediate Window. В этом окне можно производить вычисления, мгновенно получая результат. Для вывода результата используется оператор ? (синоним Print).

Например, напечатав в окне Immediate строку ? 2+2 и нажав Enter, в следующей строке получим 4.

Следующие строки также дадут в результате 4:

x=2 ? x^2 Строка ? sin(1) выдаст число 0,841470984807897 Мы будем использовать окно Immediate для тестирования различных свойств VBA.

1.3. Сохранение и открытие документов с макросами Для сохранения текстов алгоритмов, файлу EXCEL надо присвоить формат Книга Excel c поддержкой макросов (Кнопка «Office», Сохранить как, поле «Тип файла»). Пиктограмма такого файла содержит восклицательный знак:. Такие файлы имеют расширение.xlsm.

При открытии книги EXCEL, содержащей макросы, происходит проверка на надежность макросов, поскольку в рабочих книгах могут находиться потенциально опасные макросы заражающие компьютер вирусами. Надежными считаются только макросы, либо удостоверенные действующей, не просроченной цифровой подписью, выданной общепризнанным центром сертификации, при этом разработчик, удостоверивший макрос, должен быть надежным, либо открываемый документ должен находиться в надежном расположении (папка на жестком диске или на сетевом ресурсе, зарегистрированная в Microsoft Office как надежное расположение).

Все остальные макросы считаются ненадежными. Такими будут считаться и макросы, которые вы будете создавать в процессе изучения VBA. Чтобы все-таки можно было использовать такие макросы, придется временно разрешить использование всех макросов. Для этого

–  –  –

Выбрать параметр «Включить все макросы (не рекомендуется, возможен запуск опасной программы)».

Щелкнуть OK в этом окне, затем в окне «Параметры Excel».

Теперь можно открыть документ, содержащий макросы.

Внимание! По окончании работы со своим документом, содержащим макросы, рекомендуется отключить этот режим!

Для редактирования написанных алгоритмов нужно вызвать редактор VBA, выбрать (двойным щелчком) модуль, в котором находится нужный текст, и начать редактирование.

Для редактирования написанной процедуры можно также воспользоваться комбинаций клавиш Alt+F8 или цепочкой: вкладка ВИД, кнопка МАКРОС, КОМАНДА МАКРОС. В списке имеющихся процедур-макросов выбирается нужная строка и щелкается по кнопке ИЗМЕНИТЬ.

1.4. Функции Ниже приведен пример функции, которая вычисляет сумму квадратов двух чисел:

Function SumSq(x, y) SumSq = x ^ 2 + y ^ 2 End Function Здесь первая строка содержит оператор заголовка функции; вторая строка – оператор присваивания, третья строка — оператор конца функции. Слова Function, End – ключевые слова языка VBA. SumSq — имя функции (задается пользователем) и одновременно переменная, x, y — аргументы (переменные).

1.5. Процедуры

Следующая процедура выдает сообщение "Пример процедуры":

Sub MyProc() MsgBox "Пример процедуры" End Sub В первой строке расположен оператор заголовка процедуры, во второй строке – оператор выдачи сообщения (в кавычках находится текст сообщения), в третьей строке - оператор конца процедуры. Слова Sub, MsgBox — ключевые слова языка VBA. MyProc — имя процедуры (задается пользователем). "Пример процедуры" – текстовая константа (задается пользователем). Тексты процедур называют МАКРОСАМИ.

Имена функций и процедур могут состоять из букв и цифр, но первым символом должна быть буква. Имена не должны содержать пробелов, но могут содержать знак подчеркивания (_). Внимание: имена функций и процедур не должны совпадать со встроенными именами Excel, например, с именами встроенных функций (типа Sum, Частное…), адресами ячеек (A1, Sum100…) и т. п.

1.6. Вызов функции

Вызов функции осуществляется так же, как и вызов стандартной функции Excel:

введением в ячейку имени функции с нужными аргументами. Например, формула =SumSq(5;-3) вычисляет сумму квадратов чисел 5 и -3. При этом говорят, что функции переданы значения аргументов 5 и -3.





Ввод имени функции в формулу в ячейку Excel можно осуществить либо непосредственным набором имени на клавиатуре, либо с использованием мастера функций. В последнем случае надо реализовать цепочку меню: вкладка ФОРМУЛЫ, кнопка ВСТАВИТЬ ФУНКЦИЮ, выбрать из списка КАТЕГОРИИ строку ОПРЕДЕЛЕННЫЕ ПОЛЬЗОВАТЕЛЕМ и выбрать нужное имя (Excel автоматически добавляет в этот список имена всех пользовательских функций, созданных пользователем в текущей рабочей книге).

1.7. Вызов процедуры Запуск процедуры реализуется цепочкой меню вкладка ВИД, кнопка МАКРОС, команда МАКРОС или комбинацией клавиш Alt+F8. Из списка имен выбирается нужное и щелкается по кнопке ВЫПОЛНИТЬ.

1.8. Работа в редакторе В отличие от большинства текстовых процессоров, редактор VBA не только отображает то, что вводит пользователь, но и вносит в текст изменения:

выделяет синим цветом ключевые слова;

выделяет зеленым цветом комментарии;

выделяет красным цветом синтаксические ошибки;

ключевые слова пишет с большой буквы.

Комментарии - это напоминания о том, что делает та или иная часть алгоритма.

Комментарии делаются пользователем для себя и не влияют на ход алгоритма.

Комментарии могут занимать целую строку или ее часть и отделяются от основного текста апострофом:

Function Tg(x) 'функция вычисляет тангенс Tg = sin(x)/cos(x) 'делить на нуль нельзя End Function Синтаксические ошибки – это нарушения правил языка VBA. Например, синтаксической ошибкой будет отсутствие апострофа перед текстом комментария или, скажем, неправильное написание ключевого слова.

Для удобочитаемости текстов программ помимо комментариев используются отступы. Отступы не являются обязательными, но очень желательны. Для получения отступа используется клавиша TAB.

§ 2. Объекты и операторы

2.1. Константы арифметические (числовые ) 5, -123.0, 3.14, 2.4E15 текстовые (символьные) "ABCD123F", "Mr. Brown" логические (булевы) True, False даты #08/31/97# Число 2.4E15 записано в так называемом научном формате и равно 2,4 10 15 Текстовые константы – это любые цепочки символов, заключенные в двойные кавычки.

Дата #08/31/97# соответствует 31.08.1997 г.

2.2. Особенности работы в русской версии Excel Как видно из предыдущего пункта, при записи констант в VBA используются американские региональные установки: десятичный знак — точка, а не запятая, даты записываются в формате месяц/день/год.

Воспользуемся окном Immediate. Введем строку ? 2,3

Результат:

Запятая — разделитель списка.

? 2.3 2,3 При выводе десятичный разделитель соответствует текущим региональным установкам, в нашем случае — запятая.

? 31.08.97 31,08 0,97 С точки зрения VBA здесь две десятичных дроби.

? #08/31/97# 31.08.1997 Вот теперь все правильно.

2.3. Переменные Переменные – это области памяти, где программы сохраняют значения. Переменная создается путем присвоения ей имени в любом месте программы. Имена могут состоять из букв и цифр, но первым символом должна быть буква. Имена переменных не должны содержать пробелов, но могут содержать знак подчеркивания (_). Примеры правильных имен:

X, y1, FфGж19, ПроцСтавка, Mon_Income.

Переменные могут хранить все типы данных - арифметические, текстовые, логические и даты. Тип переменных совпадает с типом данных, которые они содержат. В процессе выполнения программ значения переменных могут неоднократно меняться.

2.4. Символы арифметических операций сложение + вычитание умножение * деление / возведение в степень ^ целочисленное деление \ Mod остаток от деления конкатенация &

2.5. Встроенные функции Имена встроенных в VBA функций не всегда совпадают с соответствующими функциями Excel:

–  –  –

Хуже того, в случае логарифма, например, Log в VBA — это натуральный логарифм, а в рабочем листе Excel LOG — логарифм по произвольному основанию (по умолчанию — 10). Поэтому будьте внимательны при использовании знакомых функций и пользуйтесь справкой!

–  –  –

2.12. Оператор присваивания

В общем виде оператор присваивания записывается следующим образом:

V = A, где V - переменная (имя переменной), A - выражение (арифметическое, логическое или текстовое). При выполнении оператора вначале вычисляется значение выражения A (если выражение не является константой), а затем оно присваивается переменной V. Следовательно, оператор присваивания не является равенством в математическом смысле. Оператор X = X + 1 записан правильно. Здесь производится сложение величины X с константой 1 и результат снова присваивается переменной X.

Примеры операторов присваивания:

–  –  –

В следующем примере переменной FullName присваивается конкатенация (сумма) двух текстовых констант, в результате чего значение переменной станет равно "Иванов И.

И.":

–  –  –

В результате выполнения следующих операторов значение переменной X будет равно 9:

X=1 X = X+2 X = 3*X

2.13. Объявление переменных Dim имя1, имя2, … Здесь имяn — имя переменной.

Перед использованием переменные должны быть объявлены. По умолчанию, VBA не требует обязательного объявления переменных, однако опыт показывает, что написание программ без объявления переменных часто приводит к трудноуловимым ошибкам.

Рассмотрим, например, следующий фрагмент:

Alpha = 2 Beta = 3 Gamma = Alfa + Beta

Чему будет равно значение Gamma? Нет, не 5, а 3. Нашли ошибку? Если мы в первый раз используем переменную, ее значение равно 0. В приведенном фрагменте ошибку найти несложно, а как с программой длиной хотя бы в 100 строк?

Чтобы VBA требовал обязательного объявления переменных, достаточно в самом начале модуля вписать строчку Option Explicit Если выполнить команду Tools, Options, в диалоговом окне Options, во вкладке

Editor поставить флажок Require Variable Declaration:

то VBA будет вставлять оператор Option Explicit автоматически в начале каждого нового модуля. Этот флажок нужно обязательно включить!

Если в нашем примере мы включим обязательное объявление переменных, и опишем их таким образом:

Dim Alpha, Beta, Gamma то при попытке выполнения этой программы VBA выдаст сообщение об ошибке Таким образом, мы, по крайней мере, будем знать, что в коде есть ошибка, и не будем гадать, почему у нас 2 + 3 = 3!

Уже объявленными считаются переменные:

совпадающие с именем функции, перечисленные внутри скобок при объявлении функции.

Поэтому, не пытайтесь внутри функции или процедуры объявлять такие переменные — вы получите сообщение об ошибке.

2.14. Несколько операторов в одной строке и перенос оператора В одной строке через двоеточие можно записать несколько операторов.

Например, T = "a1" : X1 = 0.13 * Y : X2 = X1 / 3.14 Для переноса оператора на следующую строку используется символ подчеркивания ( _ ), например, Expenses = Price*2000 + _ Tax*2500 + 500

2.15. Структура функции Текст функции должен содержать как минимум три строки.

Function Z(x, y) Z = 2*x*y End Function Первая строка (строка заголовка) содержит имя функции, после которого обязательны скобки. В скобках указываются имена аргументов (переменных).

Третья строка содержит оператор конца функции. Группа операторов, находящихся между первой и последней строками, называется телом функции. Тело функции должно содержать по крайней мере один оператор присваивания, в левой части которого находится переменная, имя которой совпадает с именем функции. В приведенном примере тело функции состоит из одного такого оператора.

2.16. Структура процедуры Текст процедуры состоит из строки заголовка, тела и заключительной строки.

После имени процедуры идут пустые скобки. Например, Sub Пример() End Sub У процедуры не должно быть аргументов, иначе Excel не выведет имя процедуры в списке макросов. В рассмотренной процедуре отсутствует тело, поэтому она ничего не делает.

Бывают ли процедуры с аргументами? Разумеется, бывают. Однако такие процедуры могут быть вызваны только из другой процедуры или функции.

Например:

Sub Hello(s,t) MsgBox s,,t End Sub Sub myProc() Call Hello("Всем привет", "Приветствие") End Sub Здесь процедура Hello вызывается с использованием оператора Call. В этом сдучае аргументы должны быть в скобках.

Процедуру можно вызвать и так:

Sub myProc() Hello "Всем привет", "Приветствие" End Sub без использования Call. В этом случае скобки не обязательны.

2.17. Ввод данных в диалоговом режиме. Функция InputBox

Рассмотрим пример процедуры:

Sub Приветствие () Dim user ' Объявляем переменные user = InputBox ("Ваше имя? ") MsgBox "Привет, " + user End Sub Данная процедура создает переменную с именем user и присваивает ей значение, вводимое пользователем в диалоговое окно, содержащее текст "Ваше имя? ". Затем процедура выводит конкатенацию текстовой константы "Привет, " и значения переменной user.

В следующем примере функции InputBox передаются три аргумента, смысл которых пояснен в комментариях:

Sub Ввод() Dim Message, Title, Default,MyValue ' Объявляем переменные Message = "Введите число между 1 и 3" ' Сообщение Title = "Окно ввода" ' Заголовок Default = "1" ' Начальное значение переменой MyValue = InputBox(Message, Title, Default) End Sub

2.18. Однострочный If / Then

Общий вид оператора:

If L Then P, где L - логическое выражение, P - оператор.

Действие: если L истинно (равно True), то выполняется оператор P, если L ложно (равно False), то происходит переход к следующей строке без выполнения оператора P.

Пример.

Следующая функция вычисляет частное от деления двух чисел, если делитель не равен нулю:

Function Частн(x,y) If y 0 Then Частн = x/y End Function

Пример. Следующая функция находит максимум из двух чисел:

Function Максимум(x,y) Максимум = y If x y Then Максимум = x End Function

2.19. Многострочный If / Then / End If If L Then P1 P2...

Pn End If Здесь L - логическое выражение, P1, P2,..., Pn – операторы.

Действие:

если L истинно (равно True), то цепочка операторов P1,..., Pn выполняется, если L ложно (равно False), то не выполняется.

Пример.

Следующая функция вычисляет корень четвертой степени из неотрицательного числа с помощью квадратного корня:

Function Корень4(x) Dim Кор2 If x = 0 Then Кор2=sqr(x) „ Кор2 - промежуточная переменная Корень4=sqr(Кор2) End If End Function

2.20. Оператор If / Then / Else / End If

–  –  –

Действие: если L истинно (равно True), то выполняется цепочка операторов P1,..., Pn, если L ложно (равно False), то выполняется цепочка операторов Q1,..., Qm.

–  –  –

Здесь A – выражение, A1,A2,...,An – подмножества множества значений А.

Действие:

отличается от предыдущего тем, что, если текущее значение выражения A не вошло ни в какое из подмножеств A1,A2,...,An, то выполняется оператор Ps.

–  –  –

Здесь I – переменная (счетчик), start – начальное значение счетчика, end – конечное значение счетчика, P1,..., Pn – операторы.

Действие:

цепочка P1,..., Pn повторяется до тех пор, пока значение счетчика не станет больше end; после каждого выполнения цепочки P1,..., Pn значение счетчика увеличивается на 1; начальное значение счетчика равно start.

Пример. Следующая функция возвращает сумму последовательных чисел от N1 до

N2:

–  –  –

Здесь L - логическое выражение, P1,..., Pn - операторы.

Действие:

если L истинно (True), то цепочка P1,..., Pn повторяется до тех пор, пока L не станет False; если L ложно, управление передается за пределы группы.

Пример.

Следующая функция находит сумму всех чисел от заданного до 100 включительно:

–  –  –

Например, Сумм100(99) возвращает 199, а, например, Сумм100(101) возвращает 0, так как оператор цикла не будет выполняться ни разу.

2.24. Оператор цикла Do Until / Loop

–  –  –

Здесь L – логическое выражение, P1,..., Pn – операторы.

Действие:

если L ложно (False), то цепочка P1,..., Pn повторяется до тех пор, пока L не станет True; если L истинно, управление передается за пределы группы.

Пример.

Следующая процедура все время делает запрос на ввод пароля, пока последний введенный пароль не будет равен "Stud123" :

Sub PassWord() Dim PW PW = " " ' начальное значение пароля - пробел Do Until PW = "Stud123" PW = InputBox( "Пароль?" ) Loop End Sub

2.25. Оператор выхода Exit Для немедленного выхода из процедуры, функции или оператора цикла используются следующие операторы:

Exit Sub Exit Function Exit For Exit Do

2.26. Оператор объявления массива Пример объявления одномерного массива (каждый элемент массива имеет свой номер – индекс):

–  –  –

Этот оператор создает массив с именем Arr, содержащий 3 элемента: Arr(1), Arr(2), Arr(3).

Пример объявления двумерного массива (каждый элемент массива имеет два номера

– индекса по аналогии с элементами матрицы):

–  –  –

Этот оператор создает массив с именем М размерности 2 х 3 (2 строки и 3 столбца).

Всего массив содержит 6 элементов:

М(1,1), М(1,2), М(1,3), М(2,1), М(2,2), М(2,3)

2.27. Присваивание значений элементам массива После того, как массив объявлен, каждый его элемент становится независимой позицией для любого значения, которое нужно хранить.

Следующая процедура создает массив и присваивает значения каждому его элементу:

–  –  –

Cells(3,1) = 100 ячейке А3 из активного рабочего листа присваивается числовое значение 100;

ddd = Cells(2, 4) переменной ddd присваивается значение ячейки D2 активного рабочего листа.

При запуске процедуры, заполняющей ячейки активного рабочего листа, надо следить за тем, чтобы активным был именно нужный рабочий лист, а не какой–то другой лист или даже объект, например, диаграмма. В последнем случае будет выдано сообщение об ошибке.

Для заполнения одним и тем же значением диапазона ячеек можно воспользоваться записью Range().

Пример:

Range("A1:C5") = "Hello!" всем ячейкам в диапазоне A1:C5 активного рабочего листа будет присвоено текстовое значение "Hello!".

Альтернативный вариант:

Range(Cells(1,1),Cells(5,3)) = "Hello!" Пример Написать на VBA процедуру, формирующую на активном рабочем листе матрицу размерности 7 9 по общей формуле элемента:

–  –  –

При необходимости работать с ячейками определенного рабочего листа используется префикс Worksheets() с указанием имени листа.

Примеры:

Worksheets("Баланс").Cells(3,1) = 13.5 ячейке А3 из рабочего листа с именем «Баланс» присваивается числовое значение 13.5;

Worksheets("Лист1").Range("A1:C5").Font.Bold = True ячейки A1:C5 листа «Лист 1» форматируется жирным шрифтом.

2.30. Ввод формул в ячейки. Свойства Formula и FormulaLocal Свойствами Cells() и Range() можно воспользоваться и для ввода формул в ячейки рабочего листа. Для это применяются свойства Formula и FormulaLocal.

Пример:

Range("A10").Formula = "=sin(b2)^2+1" В ячейку A10 активного рабочего листа будет введена формула =SIN(B2)^2+1.

Теперь попробуем ввести функцию СУММ():

Range("C1").Formula = "=сумм(A1:A5)" Мы точно знаем, что функция СУММ существует. В чем же дело?

Проблема заключается в том, что VBA не понимает переведенные на русский язык имена функций.

Если использовать английское имя функции — SUM, то все будет нормально:

Range("C2").Formula = "=sum(A1:A5)" Обратите внимание, что имя функции Excel «перевел» на русский.

Соответствие русских и английских имен функций можно посмотреть в файле FUNC.XLS, для версии MS Office 2007 обычно находящемся в папке «C:\Program Files\Microsoft Office\Office12\1049».

Если вы все-таки предпочитаете русские имена функций, то можно воспользоваться свойством FormulaLocal:

Range("C3").FormulaLocal = "=сумм(A1:A5)" В этом случае имя функции будет распознано правильно, и в ячейке C3 вы получите число 15.

Вы можете использовать тот или другой метод по своему вкусу. Следует однако учесть, что если ваш макрос попадет на компьютер, на котором установлена, например, немецкая версия Office, то вариант с использованием FormulaLocal работать не будет (по-немецки функция суммирования называется SUMME).

2.31. Оператор With Если надо интенсивно поработать с ячейками определенного рабочего листа, то каждый раз перед Cells() вводить префикс Worksheets() довольно утомительно.

Облегчить нам жизнь призван оператор With, с помощью которого мы дадим VBA знать, с каким объектом мы собираемся сейчас работать.

With O P1 … Pn End With Здесь O — переменная, указывающая на объект, например, Worksheets("Лист2").

Пример:

With Worksheets("Лист3").Cells(1,1) = "Фамилия".Cells(1,2) = "Имя".Range("A1:B1").Font.Bold = True.Cells(2,1) = "Пупкин".Cells(2,2) = "Вася" Cells(3,3) = "Oops…" ' Ячейка C3 активного листа End With Обратите внимание на точку перед Cells(). Если ее не поставить, то Cells() (и Range()) будет относится к активному рабочему листу.

2.32. Функции с аргументами–массивами. Свойство COUNT Слово Count, добавленное через точку к имени массива–аргумента, позволяет определить количество элементов в этом массиве. В качестве аргумента–массива может выступать любой диапазон ячеек.

Пример.

Пусть Mat имя аргумента некоторой функции. Если в качестве этого аргумента ввести диапазон A1:B4, то в результате выполнения оператора KOL = Mat.Count переменной KOL будет присвоено значение 8 (количество ячеек в диапазоне A1:B4).

Пример.

Написать функцию, возвращающую количество отрицательных элементов диапазона (массива, матрицы) произвольной размерности.

–  –  –

Напомним, что вводить массив-аргумент можно методом указания, маркируя с помощью мыши бегущей пунктирной линией нужный диапазон ячеек.

Пример обращения к рассмотренной функции:

= КолОтриц(A1:D5).

Пример.

Написать функцию, подсчитывающую число случаев, когда элементы, расположенные на одинаковых местах в двух массивах одинаковой размерности, совпадают по величине.

–  –  –

Например:

U = WorksheetFunction.Min(3, 7, 1);

S1 = WorksheetFunction.Max(8, 7);

Дисперсия = WorksheetFunction.Var(8, 7, 9);

Среднее = WorksheetFunction.Average(8, 7).

Полный список функций рабочего листа русской версии Excel, имеющих соответствующие методы в WorksheetFunction, приведен в приложении II.

Глава 2 ПЕРЕМЕННЫЕ, ТИПЫ ДАННЫХ И ОБЛАСТИ ВИДИМОСТИ Глава 3 ОТЛАДКА МАКРОСОВ Глава 4 ВВОД ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ФОРМ

–  –  –

4.1. Протабулировать функцию СложПроц для t = 1, 2, …, 10 при значениях: S = 10, p = 5. Построить график.

5. Аргументы x, y, z. Функция вычисляет разность межу наибольшим и наименьшим значениями из трех. Имя функции Размах.

–  –  –

8.2. Учесть область допустимых значений параметров x1,x2,y1,y2.

Решение.

Логарифмы определены только для положительных значений. Делить на нуль нельзя.

Добавляется условный оператор:

–  –  –

8.3. Учесть область допустимых значений аргумента x Решение.

Возведение в произвольную степень определено для положительных чисел, поэтому добавляется еще один условный оператор:

–  –  –

Задача. Написать процедуру, которая запрашивает число, и если введенное число положительно, выдает соответствующее сообщение.

Sub Положит() Dim number number = InputBox("Введите число") If number 0 Then MsgBox "Число "+number+" положительно" End Sub Задача. Написать функцию



Похожие работы:

«Це неофіційний переклад оригінального документу, написаного англійською мовою; у випадку розбіжностей, просимо звертатися до оригіналу англійською мовою Управління Верховного комісара ООН з прав людини Відповідальність за вбивства в Україні з січня 2014 року по травень 2016 року Зміст Параграфи Стор. Резюме Вступ I....»

«LAUSUNTOJA JA SELVITYKSI 2003:24 МИНИСТЕРСТВО ЮСТИЦИИ ЗАКЛЮЧЕНИЯ И ИССЛЕДОВАНИЯ 2003:24 Гражданские процессы России и Финляндии и международное исполнение решений по гражданским делам ЗАКЛЮЧЕНИЯ И ИССЛЕДОВАНИЯ 2003:24 Гражданские процессы России и Финляндии и международное исполнение решений по гражданским делам МИНИСТЕРСТВО ЮСТИЦИИ ХЕЛЬСИН...»

«О. Ю. ПАНОВА Оглавление Предисловие Становление литературной традиции: прецедент и канон в афроамериканской литературе. "Линия цвета": репрезентация расовой границы в американской литературе. "Я восславил Господа": Джон Маррант и первое религиозное пробуждение в Америке. "Давнее наследие": "сере...»

«ОСОБЕННОСТИ ПРОИЗВОДСТВА КИСЛОМОЛОЧНЫХ ПРОДУКТОВ Дусаева Х. Б., Халитова Э.Ш. Оренбургский государственный университет, г. Оренбург В употреблении различных продуктов питания одно из важнейших мест занимают молоко и кисломолочные продукты. Эти продукты питания...»

«Александр Балакин Герой "Поэмы Воздуха" (Нью-Йорк–Париж–Болшево. 1927-1933-1939) Еще перед первой мировой войной, в 1913 году, английская газета "Дейли Мейл" объявила конкурс для летчиков. Приз в десять тысяч фунтов стерлингов предназначался тому,...»

«ПАРАЗИТОЛОГИЯ, 48, 1, 2014 УДК 576.895.771 ЖИЗНЕННЫЙ ЦИКЛ ТАЕЖНОГО КЛЕЩА IXODES PERSULCATUS В ТЕМНОХВОЙНЫХ ЛЕСАХ НИЗКОГОРИЙ ВОСТОЧНО-САЯНСКОГО ХРЕБТА © Ю. С. Короткое ФГБУ "Институт полиомиелита и вирусных энце...»

«К ПРОБЛЕМЕ АНТИСЕМИТИЗМА В АЗЕРБАЙДЖАНЕ АНЖЕЛА ЭЛИБЕГОВА В современном мире ксенофобия как негативное отношение к "чужим", основанное на предубеждениях, стереотипах и предрассудках, – явление опасное и масштабное. Ее частное проявление в виде армянофобии хорошо известно и изучено на примере Азербайджанской Республики,...»

«Злоказов В. Б. Религия в терминах системного анализа В. Б. Злоказов (г. Дубна, Россия) РЕЛИГИЯ В ТЕРМИНАХ СИСТЕМНОГО АНАЛИЗА ВВЕДЕНИЕ. В моем докладе акцент делается на объективных корнях как религии, так и ее всевозможных суррогатов. Эт...»

«ЕГОР ЧЕРЛАК cherlak44@yandex.ru НАДО ЛИ ГОБЛИНУ ЕХАТЬ ДО ДУБЛИНА? предыстория одной известной вспышки Действующие лица: – Тимофей (Тим) – Рита Пролог На сцене мы видим много тетраэдров. Очень много. Среди них есть большие, а есть и поменьше. Они разбросаны по всей сцене (нек...»








 
2017 www.doc.knigi-x.ru - «Бесплатная электронная библиотека - различные документы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.