Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodicheskoe posobie dlya VBA for Excel.303.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
991 Кб
Скачать
☆

Строковые функции

Функция

Описание

StrComp

Сравнивает две строки

LCase

Преобразовывает строку в нижний регистр

UCase

Преобразовывает строку в верхний регистр

Space

Создает строку пробелов

String

Создает строку символов

Len

Определяет длину строки

Instr

Ищет подстроку

Lset

Выравнивает строку по левому краю

Rset

Выравнивает строку по правому краю

Str

Преобразовывает число в строку

Val

Преобразовывает строку в число

Пример:

В= «ЯнвФевМарАпрМайИюнИюлАвгСенОктНояДек»

Lсase, после преобразований:

B = «янвфевмарапрмайиюниюлавгсеноктноядек»

Uсase, после преобразований:

B = «янвфевмарапрмайиюниюлавгсеноктноядек»

Len (B), после вычислений B = 36

instr (B,"Июл"), после выполнения функции: B = 19

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

Оператор присваивания - это основа всех вычислений в VBA, так как любая рассчитанная величина должна стать переменной, чтобы ее можно было хранить. Знак «=» является оператором присваивания, который предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. В правой части располагается выражение в виде формулы, в качестве которой может выступать отдельная величина или выражение, состоящее из переменных, констант, операций и функций. Переменная, располагающаяся слева, может быть простой переменной, элементом массива или свойством объекта.

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

Filename = " c:\vba\exampl.xls"

Sales = Units * Prise

Profit = Sales - Cost

Coords (3,2) = 19.37

Selection.Values = 25

Rang("B1") . Formula = "=B4*B3-1"

ActiveCell.FormulaR1C1 = "Таблица погашения ссуды"

ActiveWindow . ScrollRow = 1

Первые три оператора присваивают значениям переменным, четвертый присваивает значение элементу массива, а все остальные присваивают значения свойствам.

Таким способом нельзя присвоить значения только объектам - они требуют специального оператора присваивания. Например, приведенная ниже процедура создает объектную переменную, присваивает ей объект Rang, ссылающийся на ячейку В5, и затем использует эту объектную переменную для присваивания значений ячейке:

Sub ObjVar ()

dim theRang as Object

Set theRang = ActiveSheet.Range(‘B5’)

theRang.Value = 10

EndSub

Исключением является оператор присваивания « : = ». В отличие от ранее описанного оператора присваивания «=», он применяется только по отношению к параметрам процедуры.

Sub Assistant (a, b)

c = a + b

Msgbox Cstr (c)

End Sub

Sub Main( )

Assistant a:= 1, b:= 3

End Sub

В данном примере при вызове процедуры Assistant передача параметров осуществляется присвоением значений именам параметров с помощью оператора присваивания «:=». При выполнении данной процедуры переменной С присваивается значение суммы переданных параметров с использованием оператора присваивания «=».