Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBAExcel_Work01-2004.doc
Скачиваний:
5
Добавлен:
15.08.2019
Размер:
3.81 Mб
Скачать

4.5Переменные. Оператор объявления переменных

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

Переменная объявляется в программе при помощи оператора объявления переменных:

Dim Имя1 As ТипДанных1 , Имя2 As ТипДанных2,..

где ИмяN - имя переменной, а ТипДанныхN - тип её данных. Для каждой (!) объявляемой в операторе Dim переменной необходимо использовать отдельное предложение As TypeN. Например,

Dim g As Single, h As Single, j As Integer

Dim i As Single

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

4.6Переменные. Оператор присваивания значения переменной. Выражения

Оператор присваивания назначает результат вычисления некоторого выражения переменной.

Вы­ра­же­ние есть про­грамм­ная кон­ст­рук­ция, ука­зы­ваю­щая правило вы­чис­ле­ния нового зна­че­ния пе­ре­мен­ной. В ча­ст­но­сти, вы­ра­же­ни­ем мо­жет быть кон­стан­та; имя пе­ре­мен­ной; ком­би­на­ция кон­стант, имен пе­ре­мен­ных и опе­ра­ций для по­лу­че­ния ис­ко­мой ве­ли­чи­ны. Если в вы­ра­же­нии встре­чает­ся неко­торое имя пе­ре­мен­ной, то оно оз­на­ча­ет ее значение (т.е. дан­ное, ко­то­рое хра­нит­ся в ней в те­ку­щий мо­мент).

Выражение и переменная должны быть совместимы по типу данных. Оператор присваивания содержит знак присваивания = и имеет следующий вид:

Переменная = выражение

Текстовые вы­ра­же­ния со­став­ля­ют­ся из

· текстовых кон­стант;

· имен пе­ре­мен­ных текстового ти­па;

· текстовых опе­ра­ций;

· обращение к функции (вычисление функции). Имеет вид имяФунк­ции (списокАргументовФункцииЧерезЗапятую),

· слияние строк (&).

· круг­лых ско­бок (управ­ляю­щих по­сле­до­ва­тель­но­стью вы­чис­ле­ний).

ВЫПОЛНИТЬ

В модуле листа Лист1 наберите

Sub s06()

Const A1 = "1-й текст", A2 = "2-й текст"

Dim S As String

S = A1

Debug.Print S

S = A2

Debug.Print S

S = A1 & "----" & A2

Debug.Print S

End Sub

Выполните процедуру в пошаговом режиме.

В окне локальных данных можно видеть как меняется значение текстовой переменной S

ВЫПОЛНИТЬ

В модуле листа Лист1 наберите пример с более сложными выражениями в операторах присваивания

Sub s07()

Const A1 = "1-й текст", A2 = "2-й текст"

Dim S As String, S2 As String

Dim S3 As String

S = A1

Debug.Print S

S2 = Mid(S, 2, 3)

Debug.Print S2

S3 = A1 & "----" & S2

Debug.Print S3

S = S2 & S3

Debug.Print S

S = S & "===" & S

Debug.Print S

End Sub

Выполните процедуру в пошаговом режиме.

4.7Доступ из программы к ячейкам листов Excel

Для доступа из программы к значениям, хранящимся в ячейках некоторого листа, применяется одна из двух следующих комбинаций:

Sheets(НазваниеЛиста).Range(НазваниеЯчейки).Value

Sheets(НазваниеЛиста).Cells(НомерСтроки,НомерСтолбца).Value

которые могут находиться как в левой, так и в правой частях оператора присваивания так как будто это обычные имена переменных.

Здесь,

НазваниеЛиста – текстовое выражение, которое задает имя листа. Например, "Лист1"

НазваниеЯчейки – текстовое выражение, которое задает ячейку листа. Например, "A7" или "A" & "7"

Примеры

Sheets("Лист1").Range("A7").Value = 7

в ячейку А7 листа 1 записывается число 7

Sheets("Лист2").Cells(6,7).Value="Пример"

в 7 ячейку 6 строки листа Лист2 записывается слово “Пример”

h = Sheets("Лист2").Cells(3,l).Value

переменной h присваивается значение ячейки из строки с номером 3 и столбца с номером l листа Лист2

ВЫПОЛНИТЬ

Занесите в ячейку A1 листа Лист1 значение Текст11

Занесите в ячейку B2 листа Лист1 значение Текст22

В модуле листа Лист1 наберите

Sub s08()

Const L1 = "Лист1", A1 = "A1"

Dim S As String, S2 As String

Sheets("Лист1").Range("B1").Value = "Текст12"

Sheets(L1).Cells(2, 1) = "Текст21"

S = Sheets(L1).Range(A1).Value

S2 = Sheets("Лист1").Cells(2, 2).Value

Debug.Print S

Debug.Print S2

End Sub

Выполните процедуру в пошаговом режиме.

Посмотрите как изменились ячейки B1 и A2 на листе Лист1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]