Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Sub MainProcedure()

Call GetProblemSize

Call Initialize

Exit Sub

End Sub

Sub GetProblemSize()

Ncities = Range("DistMatrix").Rows.Count

ReDim Visited(Ncities)

ReDim Route(Ncities + 1)

End Sub

Sub Initialize()

Dim I As Integer

Route(1) = 1

Route(Ncities + 1) = 1

Visited(1) = True

For I = 2 To Ncities

Visited(I) = False

Next

TotDist = 0

End Sub

Синтаксис процедуры пользователя:

[Private/Public] Sub ИмяПроцедуры (Параметры)

<Тело процедуры>

End Sub

Элементы списка параметров имеют следующий вид: ИмяЭлемента As ТипДанных

 

7. Типы подпрограмм и их определения: определение и виды процедур. Примеры процедур разных видов. Логические фрагменты кода, которые выполняют определенную задачу, называются подпрограммами. В вба подпрограммами называют макросы, процедуры и даже функции. Функция – это подпрограмма, которая действует в пределах своего блока и возвращает только одно значение. Функции: 1)ф. пользователя 2) ф. модулей классов. Функция имеет следующий синтаксис:

[Private/Public] Function Имя функции(список параметров) As ТипДанных

<тело функции>

End Function

Тип данных для функции предназначен для определения типа и возвращения функцией зн-я

Чтобы создать функцию пользователя, надо: 1. если нет модуля Insert/Module 2. Insert/Procedure 3. в открывшемся окне выбрать переключатель “Function”, в поле Name ввести имя функции («Доход») 4. в этом же окне установить переключатель «общие», чтобы был тип – Public 5. Ок. Откроется окно редактора. Ввести параметры функции и код.

Option explicit

Option Base 1

Function Doxod (procent as double, platezh as variant, god as variant) as double

Dim i, j, n as integer, s as double

n=platezh.rows.count

s=0

for i=1 to n

s=s+platezh(i)/(1+procent)^((god(i)-god(1))/365)

next i

doxod=s

end fuction

Не закрывая окна View/Object Browser. Откроется окно просмотра объектов. В левом верхнем углу выбрать VBAProject и в окне Классы отобрать элементы текущего проекта. Выбрать модуль, в котором ваша функция. Затем в окне Компоненты отобрать все элементы, в том числе и функцию Доход. Щелкнуть правой кнопкой мыши на Доход и выбрать значение Свойства. Откроется окно «Параметры компонента», в нем ввести описание(назначение) функции. Закрыть окно и после этого ваша функция попадет в библиотеку стандартных функций Excel.

 

 

8. Объявление переменных. Объявление переменных в модулях и процедурах. Область действия переменных и процедур. Пример передачи в процедуру аргументов.

Рекомендуется заранее объявлять все переменные, которые будут использоваться в процедурах. Оператор Dim позволяет объявить все переменные и массивы.

Dim I As Integer, j As Integer, k As Integer

Чтобы не забывать объявить переменные Tools/Options/ вкл Editor, где установить флажок Require Variable Declaration.

Option Explicit – общая область. Этот оператор будет контролировать описание переменных. Существует очень важный тип переменных, которого в VB не было. Это переменные объекта. Dim A As Object. Частный случай: Dim A As Range. Например, мы хотим обратиться к диапазону ячеек в течение процедуры. D

Dim SRange As Range

Set SRange=ActiveWorkBook.WorkSheets(“Продажи”).

Range(“SalesRange”)

SRange.Font.Size=14

Ключевое слово Set используется только при присвоении значения объектной переменной.

Для переменных определяется область видимости. Переменные могут быть: глобальные (для объявления используется Public) и локальные (используется оператор Private, Dim). Переменная типа Public – переменная уровня модуля, Dim – уровня процедуры. Переменная, определяемая в модуле оператором Dim, может быть переопределена этим же оператором внутри процедуры, принадлежащей этому модулю.

Передача в процедуру аргументов. Можно передавать аргументы (имя, фамилию) из процедуры Main в процедуру DisplayName. Тогда процедура Main называется главной, а DisplayName – вызываемой. В этом случае переменная FirstName и LastName не объявляются переменными уровня модуля, а объявляются как локальные переменные процедуры Main.

Sub Main ()

Dim FirstName As String, LastName As String, I As Integer

For i=1 to 50

FirstName=Range(“Names”).cells(i, 1)

LastName= Range(“Names”).cells(i, 2)

Call DisplayName

End Sub


Дата добавления: 2015-11-14; просмотров: 53 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Введение в систему программирования VBA. Объектная модель Excel, основные объекты Е. Краткая их характеристика.| Sub DisplayName

mybiblioteka.su - 2015-2024 год. (0.008 сек.)