
- •«Программирование линейных алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы:
- •Варианты заданий:
- •Организация ввода-вывода информации.
- •Краткие теоретические сведения
- •Ход работы
- •2. Выполните задачи для самостоятельного решения
- •«Программирование разветвляющихся алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Ход работы
- •Задания для выполнения лабораторной работы:
- •«Программирование циклических алгоритмов на языке vba»
- •Краткие теоретические сведения
- •Инструкция For...Next
- •Инструкция While...Wend
- •Инструкция Do...Loop
- •Инструкция For Each...Next
- •Ход работы:
- •Задания:
- •«Программирование алгоритмов с массивами на языке vba»
- •Ход работы:
- •«Программирование функций обработки строк на языке vba»
- •Краткие теоретические сведения:
- •Задания для выполнения лабораторной работы
- •«Изучение объектной модели excel»
- •Краткие теоретические сведения:
- •Объект Workbook.
- •Объект Worksheet.
- •Ход выполнения работы:
- •«Обработка событий»
- •Краткие теоретические сведения:
- •Использование процедур событий
- •Реагирование на изменения в рабочем листе
- •События Change и SheetChange
- •Ход выполнения работы:
- •«Создание пользовательской формы»
- •Краткие теоретические сведения
- •«Использование элементов управления»
- •Краткие теоретические сведения:
Объект Workbook.
В таблице 15 приведены некоторые из наиболее часто используемых свойств и методов объекта Workbook, вложенного в объект Application.
Таблица 15 - Свойства и методы объекта Workbook
Свойства | |
Name |
Имя рабочей книги. Name является свойством только для чтения; чтобы изменить имя рабочей книги, необходимо сохранить файл с новым именем, используя метод SaveAs |
Path |
Путь к файлу рабочей книги |
Saved |
Если равно True, то рабочая книга не изменялась с тех пор, когда она была в последний раз сохранена. Если равно False, то рабочая книга была изменена |
Методы | |
Activate |
Активизирует рабочую книгу и первое окно, связанное с этой рабочей книгой |
Close |
Закрывает рабочую книгу |
Protect |
Устанавливает защиту для рабочей книги, так что в нее нельзя внести никаких изменений |
Save |
Сохраняет рабочую книгу |
SaveAs |
Сохраняет рабочую книгу с новым именем |
Объект Worksheet.
Таблица 16- наиболее часто употребляемые свойства и методы объекта Worksheet
Свойства | |
Name |
Имя электронной таблицы |
Visible |
Если равно True, электронная таблица выводится на экран. Если равно False, то она является невидимой |
Методы | |
Activate |
Активизирует заданную электронную таблицу |
Delete |
Удаляет электронную таблицу из рабочей книги |
Protect |
Устанавливает защиту для электронной таблицы, так что в нее нельзя внести никаких изменений |
Таблица 17 - Наиболее часто используемые свойства и методы объекта Range.
Свойства | |
Name |
Имя диапазона |
Value |
Значение, содержащееся в диапазоне |
Formula |
Формула, содержащаяся в диапазоне в виде строки (включая знак равенства) |
EntireRow |
Возвращает новый объект Range, представляющий собой целую строку (или строки) |
EntireColumn |
Возвращает новый объект Range, представляющий собой целый столбец (или столбцы) |
Offset |
Возвращает новый объект Range, который представляет собой заданное количество строк и столбцов, расположенных на расстоянии от верхнего левого угла диалазона |
Resize |
Возвращает новый объект Range, который представляет собой заданное число столбцов и строк, начиная от верхнего левого угла диапазона |
Методы | |
Copy |
Копирует значения в диапазоне либо в другой диапазон, либо в буфер обмена |
Insert |
Вставляет ячейки в то место, где расположен диапазон |
Sort |
Сортировка диапазона с использованием до трех ключевых столбцов |
Вместо объекта RANGEможно использовать свойствоCELLS. Данное свойство определяет ячейку рабочего листа. В общем виде он описывается какCELLS (ИНД_Строки, ИНД_Столбца).
Таким образом если обратиться к ячейке А1 листа 1 с использованием объекта Range, то запись будет следующая:Worksheets("Лист1").Range(“A1”), а при использовании свойстваCells Worksheets("Лист1").Cells(1,1).
Рассмотрим на примере использование объектов при выводе в ячейки рабочего листа значений функции Y=X2 .
Option Explicit
Public Function Func_1(x As Double) As Double
Func_1 = x ^ 2
End Function
Public Sub Vyvod()
Dim Xn As Double
Dim Xk As Double
Dim i As Integer
Dim Delta As Double
Dim Newsheet As Object
'Создать новый лист рабочей книги
Set Newsheet = Worksheets.Add
'задать новому листу имя
Newsheet.Name = "Таблица значений"
'Установить активным лист "Таблица значений"
Worksheets("Таблица значений").Activate
'Заполнение ячеек текстовой информацией с использованием оператора WITH
With Worksheets("Таблица значений")
.Range("A2").Value = "Таблица значений функции Y=X^2"
.Range("B3").Value = "X"
.Range("B4").Value = "Y"
End With
'Ввод исходных данных
Xn = InputBox("Введите начальную точку")
Xk = InputBox("Введите конечную точку")
Delta = InputBox("Введите шаг расчета")
'Заполнение ячеек листа значениями функции
With Worksheets("Таблица значений")
Cells(3, 3).Value = Xn
Cells(4, 3).Value = Func_1(Xn)
i = 1
While Xn <= Xk
Xn = Xn + Delta
Cells(3, i + 3).Value = Xn
Cells(4, i + 3).Value = Func_1(Xn)
i = i + 1
Wend
End With
MsgBox "Расчет закончен"
End Sub
В данном примере отдельно оформлена функция, рассчитывающая Х2. Эта функция впоследствии вызывается в основной процедуре. Обратите внимание, как создавался новый лист EXCEL. Сначала была объявлена переменная Newsheet как объект. Затем при помощи оператора Set данная переменная была ассоциирована с новым листом, а после этого при помощи метода Name было задано новое имя этого листа. Дальнейший ход программы достаточно понятен.