Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в VBA.doc
Скачиваний:
1
Добавлен:
07.01.2020
Размер:
2.27 Mб
Скачать

Функция InStr

Функция InStr дает возможность определить, содержит ли одна строка другую строку.

Формат функции:

InStr ([Start,] String1, String2 [, Compare])

String1, String2 – любые допустимые строковые выражения. Функция проверяет, содержится ли String1 в String2.

Start – необязательный аргумент, является численным выражением и указывает положение символа в String1, с которого должна начинаться проверка. Аргумент Start является обязательным, если указывается аргумент Compare.

Compare имеет тот же смысл, что и в функции StrComp.

InStr возвращает число, обозначающее положение символа в String1, где было обнаружено String2. Если InStr не находит String2 в String1, то возвращается 0. Если String1 (или String2) имеет значение Null (“Пусто”), то функция также возвращает Null.

Пример

Sub Встр_функции_6()

Dim R1 As String, R2 As String

R1 = "Строка ввода"

R2 = "Ввод"

MsgBox "R2 входит в R1 с позиции " & _

InStr(1, R1, R2, vbTextCompare)

End Sub

          1. Выделение части строки

Задачу выделения части строки в VBA решают три функции:

Left, Right и Mid.

Функция Left

Формат функции:

Left (String, Length)

String – любое допустимое строковое выражение;

Length – любое численное значение.

Функция возвращает копию String, начиная с первого символа и включая количество символов, заданных с помощью Length. Если Length является числом, большим, чем фактическая длина String, то возвращается всё строковое выражение String.

Функция Right

Формат функции:

Right (String, Length)

String – любое допустимое строковое выражение;

Length – любое численное значение.

Функция возвращает копию String, начиная с последнего символа и включая справа налево количество символов, заданных с помощью Length. Если Length является числом, большим, чем фактическая длина String, то возвращается все строковое выражение String. Функция Right всегда копирует символы от конца строки к ее началу.

Функция Mid

Формат функции:

Mid (String, Start, [, Length])

String – любое допустимое строковое выражение;

Length, Star t – любые численные значения.

Функция Mid возвращает копию String, начиная с положения символа в String, задаваемого с помощью аргумента Start . Необязательный аргумент Length определяет количество копируемых в Mid символов из String. Если Start содержит большее число, чем фактическая длина String, то возвращается пустая строка.

Пример

Sub Встр_функции_7()

Dim R1 As String, R2 As String, _

R3 As String, R4 As String

R4 = "Ваша оценка Отлично"

R1 = Left(R4, 4)

R2 = Mid(R4, 6, 6)

R3 = Right(R4, 7)

MsgBox "R4=" & R4 & Chr(13) & _

"R1=" & R1 & Chr(13) & _

"R2=" & R2 & Chr(13) & _

"R3=" & R3

End Sub

          1. Форматирование значений данных

Форматирование значений данных можно выполнить при помощи функции Format, которая идентична функции Format в Excel и использует те же символы-заполнители форматирования данных.

Формат функции:

Format (Expression [, Format[, Firstdayofweek [, Firstweekofyear]]])

Expression - любое допустимое выражение (обязательный аргумент).

Format - допустимое выражение именованного или определенного пользователем формата.

Firstdayofweek - константа, которая определяет первый день недели.

Firstweekofyear - константа, которая определяет первую неделю года.

Чтобы использовать функцию Format, надо либо задать предопределенный формат, либо создать образ определенного формата, используя символы-заполнители. В качестве символов-заполнителей используются символы 0, #, $, m, d, q и другие, используемые в Excel.

Пример

Sub Встр_функции_8()

Dim Дата As Date

Дата = Date

MsgBox Format(Дата, "Long Date") & vbCr _

& Format(Дата, "Medium Date") & vbCr _

& Format(Дата, "Short Date") & vbCr _

& Format(Дата, "dd mmmm yy") & vbCr _

& Format(Дата, "dd mm yy") & vbCr _

& Format(Дата, "dd mm yyyy")

End Sub