Автор: Пользователь скрыл имя, 16 Февраля 2012 в 22:24, курсовая работа
Целью курсовой работы является получение представлений о функциях VBA, а также рассмотрение практической реализации встроенной функции. Для достижения поставленной цели, нами поставлены следующие задачи, которые сводятся к рассмотрению:
функций класса Format;
функций класса Conversion
функций класса Information
функций класса String
функций класса DateTime
функций класса Math
функций класса Financial
и использования функций Excel и VBA
Введение 4
1 Теоретическая часть 5
1.1 Стандартные функции для форматирования Format 5
1.2 Функция преобразования данных (класс Conversion) 6
1.3 Получение информации о типе данных (класс Information) 9
1.4 Строковые функции (класс String) 10
1.5 Функции даты и времени (класс DateTime) 11
1.6 Математические функции (класс Math) 15
1.7 Финансовые функции (класс Financial) 16
1.8 Использование встроенных функций Excel и VBA 18
2 Практическая часть 21
Выводы и рекомендации 24
Библиографический список 25
Функция Oct преобразует целые десятичные числа в строку символов, представляющую собой, то же самое число, но в восьмеричной системе счисления. Синтаксис ее следующий:
Oct(число)
Здесь число — произвольное числовое выражение, значение которого при необходимости предварительно округляется до ближайшего целого числа.
Кроме этих наиболее часто используемых функций, в языке VBA имеется еще целый ряд функций, предназначенных для преобразования одного типа данных в другой (табл. 1.2).
Таблица 1.2 — Функции преобразования данных
Функция | Возвращаемое значение |
Asc(S) | Возвращает число кода символа, соответствующее первой букве строки S. Буква "А", например, имеет код символа 65. |
Chr(N) | Возвращает строку из одного символа, соответствующего коду символа N, который должен быть числом между 0 и 255, включительно. Код символа 65, например, возвращает букву "А". |
Format(E, S) | Возвращает строку, содержащую значение, представленное выражением Е, в формате в соответствии с инструкциями, содержащимися в S. |
Hex(N) | Возвращает строку, содержащую шестнадцатиричное представление N. |
Oct(N) | Возвращает строку, содержащую восьмиричное представление N. |
RGB(N, N, N) | Возвращает целое типа Long, представляющее значение основных цветов изображения. N в каждом аргументе должно быть целым в диапазоне 0 — 255, включительно. Аргументы (слева направо) — это значения для красного, зеленого и синего цвета. |
Str(N) | Возвращает строку, эквивалентную численному выражению N. |
Val(S) | Возвращает численное значение, соответствующее числу, представленному строкой S, которая должна содержать только цифры и одну десятичную точку, иначе VBA не может преобразовать ее в число. Если VBA не может преобразовать строку в S, то функция Val возвращает 0. |
CBool(N) | Возвращает Boolean-эквивалент численного выражения N. |
CByte(E) | Возвращает численное значение типа Byte (от 0 до 255); Е — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CCur(E) | Возвращает численное значение типа Currency; E — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CDate(E) | Возвращает значение типа Date. E может быть любым допустимым выражением (строкой или числом), представляющим дату в диапазоне 1/1/100 — 12/31/9999, включительно. |
CDbl(E) | Возвращает численное значение типа Double; E — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CInt(E) | Возвращает численное значение типа Integer; E — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CLng(E) | Возвращает численное значение типа Long; E — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CSng(E) | Возвращает численное значение типа Single; E — любое допустимое численное или строковое выражение, которое может быть преобразовано в число. |
CStr(E) | Возвращает значение типа String; E — любое допустимое численное или строковое выражение. |
CVar(E) | Возвращает значение типа Variant; E — любое допустимое численное или строковое выражение. |
При работе с типом данных Variant для определения того, какой именно тип данных содержится в данный момент в конкретной переменной, можно использовать одну из нескольких существующих в языке VBA функций проверки типов. Эти функции проверяют, является ли указанная переменная выражением специфицированного типа. Если переменная имеет соответствующий тип или содержит значение соответствующего типа, то любая из этих функций будет возвращать значение True, в противном случае — False. Перечень функций приведён в таблице 1.3.
Таблица 1.3 — Функции, необходимые для проверки типов данных
Функция | Выполняемая проверка |
IsDate(переменная) | Проверяет, является ли значение указанной переменной датой |
IsNumeric (переменная) | Проверяет, является ли значение указанной переменной числовым значением |
IsObject(переменная) | Проверяет, является ли значение указанной переменной объектом (объектной ссылкой) |
IsArray(переменная) | Проверяет, является ли значение указанной переменной массивом |
IsNul1(переменная) | Проверяет, является ли значение указанной переменной пустым значением (Null) |
IsEmpty(переменная) | Проверяет, была ли указанная переменная типа Variant инициализирована (объявлена с помощью ключевого слова Dim) |
IsError(переменная) | Проверяет, воспринимается ли значение указанной переменной или результат вычисления заданного выражения как ошибочное значение |
Строковые функции в языке VBA используются очень часто. Трудно представить себе программу, созданную в среде VBA, которая не была бы так или иначе связана с обработкой текста. Строковые данные очень важны и встречаются практически в каждом VBA-приложении, поэтому в языке VBA имеется довольно большая коллекция функций форматирования строк и извлечения из них тех частей, с которыми необходимо будет работать. В таблице 1.4 приведены функции обработки строковых выражений и их краткое описание
Таблица 1.4 — Строковые функции
Функция | Возвращаемое значение |
InStr([Nl,] SI, S2[, N2]) | Возвращает положение S2 в S1. N1 — начальное положение для поиска; N2 определяет тип сравнения. N1 и N2 необязательны. Если N2 опускается, то для поиска используется текущая установка Option Compare. |
InStrRev(Sl, S2 [, Nl[, N2]]) | Возвращает позицию появления строки S2 внутри S1, в направлении от конца (или N1) к началу строки. N2 определяет тип сравнения. Если N2 опускается, то для поиска используется текущая установка Option Compare. |
LCase(S) | Возвращает строку (тип String), содержащую копию S со всеми символами верхнего регистра, преобразованными в символы нижнего регистра. |
Left(S, N) | Возвращает строку; копирует N символов из S, начиная с левого крайнего символа S. |
Len(S) | Возвращает число символов в S, включая начальные и конечные пробелы. |
LTrim(S) | Возвращает копию строки S после удаления символов пробела из левой части строки (начальные пробелы). |
Mid(S, N1, N2) | Возвращает строку; копирует N2 символов из S, начиная с позиции символа в S, заданной аргументом N1. N2 является необязательным; если N2 опущен, то Mid возвращает все символы в строке S от позиции N1 до конца строки. |
Right(S, N) | Возвращает значение типа String; копирует N символов из S, начиная с правого крайнего символа S. Например, Right("outright", 5) возвращает строку "right". |
RTrim(S) | Возвращает копию строки S после удаления символов пробела из правой части строки (конечные символы). |
Space(N) | Возвращает строку пробелов длиной N символов. |
StrComp(Sl, S2, N) | Сравнивает S1 с S2 и возвращает число, обозначающее результат сравнения: -1, если S1 < S2; 0, если S1 = S2; 1, если S1 > S2. N является необязательным и указывает, следует ли выполнять сравнение с учетом регистра. Если N опускается, строки сравниваются с использованием текущей установки Option Compare. |
StrConv(S, N) | VBA предоставляет внутренние константы для использования с функцией StrConv; наиболее полезными являются: vbProperCase (преобразует строку так, что каждая буква, начинающая слово, становится заглавной), vbLowerCase (преобразует строку в буквы нижнего регистра) и vbUpperCase (преобразует строку в буквы верхнего регистра). |
String(N, S) | Возвращает строку длиной N символов, состоящую из символа, заданного первым символом в S. Например, StringE, "x") возвращает строку "ххххх". |
В языке VBA существует ряд функций, позволяющих определить текущую дату и время, выполнять различные вычисления со значениями даты и времени, а также извлекать из переменных со значениями даты/времени различные их компоненты: время, год или день недели. При задании аргументов в этих функциях следует помнить, что значения типа даты/времени заключаются между парой символов #, а строковые значения, определяющие интервал даты, — в кавычки. В таблице 1.5 приведены функции для работы с датами и временем. Полный синтаксис этих функций, включая перечень их необязательных аргументов, которые здесь частично опущены, при необходимости можно найти в справочной системе VBA.
Таблица 1.5 — Функции даты и времени
Функция | Возвращаемое значение |
DateValue (строка_с_датой) | Возвращает значение с типом даты, сформированное на основании значения аргумента, который должен представлять собой строковое значение или выражение, определяющее требуемую дату |
Day(дата) | Возвращает целое значение с типом Variant (Integer), соответствующее дню месяца в заданной дате |
Month(дата) | Возвращает целое значение с типом Variant (Integer), соответствующее месяцу (значение между 0 и 12 включительно) в указанной дате |
Year(дата) | Возвращает целое значение с типом Variant (Integer), соответствующее году в указанной дате |
Hour(время) | Возвращает целое значение с типом Variant (Integer), соответствующее часу суток (значение между 0 и 23 включительно) в заданном значении времени |
Minute(время) | Возвращает целое значение с типом Variant (Integer), соответствующее минутам (значение между 0 и 59 включительно), в заданном значении времени |
Second(время) | Возвращает целое значение с типом Variant (integer), соответствующее секундам (значение между 0 и 59 включительно), в заданном значении времени |
Timer | Возвращает значение с типом single, указывающее число секунд, прошедших с момента начала (полночь) текущих суток |
TimeSerial (часы,минуты, секунды) | Возвращает значение времени с типом Variant (Date), соответствующее значению времени, заданному числовыми аргументами часы, минуты, секунды |
TimeValue(строка_с_временем) | Возвращает значение с типом времени, сформированное на основании значения аргумента, который должен представлять собой строковое значение или выражение, определяющее требуемое время |
Weekday(дата) | Возвращает целое значение с типом Variant (integer), соответствующее дню недели в указанной дате |
Следует отметить, что кроме вышеперечисленных функций, в языке VBA существуют также специальные операторы работы с датами и временем, которые, в отличие от функции, выполняют некоторые действия, не возвращая при этом результирующего значения. К ним относятся:
Поскольку операции сложения и вычитания значений даты и времени не подчиняются обычным правилам арифметики, в языке VBA для выполнения таких операций предназначена специальная функция DateAdd.
С помощью этой функции к указанной дате можно прибавить любое значение, выраженное в годах, кварталах, месяцах и днях, или же суммировать интервалы времени, выраженные в часах, минутах, секундах. Функция DateAdd имеет следующий синтаксис:
DateAdd (интервал, число, начальная_дата)
Здесь аргумент интервал — это строковое выражение, определяющее тип временного интервала, добавляемого к исходной дате, поэтому его значение обязательно заключается в кавычки- Значения, которые может принимать аргумент интервал, приведены в таблице 1.6. Аргумент число — это числовое выражение, задающее количество интервалов, которое нужно прибавить (для получения более поздних дат) или отнять (для получения более ранних дат) от исходной даты. При необходимости вычитания интервалов в этом аргументе следует указывать отрицательное число. Аргумент начальнаядата — это та дата, к которой прибавляется или из которой вычитается указанный временной интервал.
Таблица 1.6 — Значение аргумента интервал в функции DateAdd
Значение аргумента | Задаваемый интервал |
YYYY | Год |
q | Квартал |
m | Месяц |
У | День года (эквивалентно значению d) |
d | День |
w | День недели (эквивалентно значению d) |
WW | Неделя |
h | Час |
n | Минута |
s | Секунда |
Информация о работе Использование встроенных функций Excel и VBA