Работа с символьными данными

End Sub

 

Function – ключевое слово, указывающее на то, что это функция; ИмяФункции – имя функции; СписокПараметров служит для передачи процедуре исходных данных для вычислений (может отсутствовать). As ТипДанных – оператор, определяющий тип данных возвращаемого значения. ВозвращаемоеЗначение – значение, возвращаемой функцией.

Обращение к функции может производиться из процедуры другой функции. Если в функции предусмотрено рекурсивное обращение, то ее можно вызвать из нее самой. Если функция записана в модуле, то ее можно вызвать из Excel с помощью Мастера функций. Например:

 

Private Sub Prog3()

Dim u,t As Integer ' Описание типа переменных u,t

t = 2 'Параметр, передаваемый п/ф

y= Func(t)

[Другие операторы]

End Sub

 

Public Function Func(x As Integer) as Integer

func=x^2+x+5

End Sub

 

 

Компьютер работает не только с числами, но и с символами. Последовательность символов, используемых программе, называется строкой. Символьные или строковые константы представляют собой набор произвольных символов, принадлежащих языку VBA. Языки программирования имеют специальные средства для работы со строками.

1. «Обычные» переменные в VBA имеют числовые значения. Для того чтобы переменная могла иметь строковое значение, ее имя должно заканчиваться символом$ – имя$. Верно и обратное: если имя заканчивается $, то переменная должна иметь строковое значение.

2. Значение строковой переменной тоже можно задавать оператором присваивания, но в правой части должно стоять не арифметическое, а строковое выражение, т.е. выражение, значением которого являются строки.

3. В такое выражение могут входить переменные и строковые константы. В языке VBA такие константы заключаются в кавычки.

4. Операции со строками отличаются от действий, которые можно выполнять с числами. Нелепо говорить о сложении или вычитании строк, тем более об умножении или делении. Но можно говорить о слиянии строк. Такая операция называется конкатенацией. Она объединяет две строки вместе (2-я присоединяется к 1-й) и обозначается знаком «+». Но кроме этого существуют и другие операции над строками, выполняемые стандартными функциями.

5. Два имени, различающиеся только $ конце одного из них, считаются различными и соответствуют разным ячейкам памяти. Например: А=1: A$=”one”. НО лучше не делать этого, это затрудняет понимание программы.

Примеры строковых констант.

«A”, «Заяц», “F(X)”, “!#%^&*_+()$”

Строковые выражения:

«А»+ «В» Þ «АВ»

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

A$=”ИВАНОВ”: B$=”ИВАН”: C$=”Иванович”

FIO$=a$+b$+c$

? fio Þ ИВАНОВ ИВАН ИВАНОВИЧ

 

Неправильное написание операторов (будет обнаружено при выполнении программы)

C$=a+2 Þ Нельзя присвоить $=!

S$=A$+C Þ Нельзя сложить строку и число.

 

6. Операции сравнения символьных переменных осуществляется по их коду. Следует иметь в виду, что коды латинских букв и коды цифр упорядочены по возрастанию и по алфавиту в соответствии с кодами таблицы ASCII: 0<1<…<9<A<B<C…<Z. Коды русских букв имеют более сложный порядок следования. Но, в любом случае, коды возрастают в алфавитном порядке.