Поддержка JavaScript отключена
SBP-Program | |||||
На главную — > VBA |   | ||||
  |
VBA в Excel
Программирование в Excel с помощью VBA. Язык VBA позволяет писать макросы в Excel. Как это делать рассматривается ниже. Application — это объект, занимающий вершину иерархии объектов в Excel. Application – это и есть Excel. Вот примеры использования Application: окно нормальных размеров Application.WindowState = xlNormal
окно максимальных размеров Application.WindowState = xlMaximized
Workbooks — это коллекция рабочих книг, которые открыты. Каждая рабочая книга представлена объектом Workbook. Узнать сколько рабочих книг сейчас в коллекции можно так: Dim bookCount As Integer
bookCount = Workbooks.Count MsgBox («Opened books = » & bookCount) Обатиться к нужной рабочей книге в коллекции Workbooks можно обратиться по его номеру или по имени: Workbooks.Item(2).Activate
здесь мы активизировали второй элемент коллекции Workbooks. Другие примеры мы увидим ниже. Workbook — это рабочая книга. Сохранить рабочую книгу: Workbooks.Item(1).Save
И где же в этом примере рабочая книга Workbook? Здесь: Workbooks.Item(1), это выражение возвращает первый элемент коллекции Workbooks, а это и есть Workbook. Закрыть рабочую книгу: Workbooks.Item(1).Close
Sheets — это все листы рабочей книги. Листы рабочей книги представлены двумя типами: рабочие листы — это обычные листы Excel и второй тип — это листы диаграмм. Те и другие и составляют коллекцию Sheets. Charts — это только диаграммы рабочей книги. Chart — это объект, представляющий одину диаграмму. Если диаграмма содержится в обычном рабочем листе, то она объектом Chart не является. Worksheets — это только рабочие листы рабочей книги. Добавим рабочий лист в коллекцию Worksheets: Worksheets.Add
Worksheet — это один лист рабочей книги Excel. Все ячейки рабочего листа Worksheet: Worksheets(«Лист1»).Cells
Range — это одна ячейка листа или несколько ячеек. Этот объект рассмотрим подробнее. Установим кнопку на рабочий лист Excel. Откройте панель инструментов «Элементы управления» (правой кнопкой по свободному полю панели инструментов и выбираем из выпавшего меню). В этой панели выбираем кнопку и устанавливаем её на свободное место рабочего листа, в его правой части. Правой кнопкой мыши по нашей кнопке — > Свойства. Установите значение свойства Name — CommandButton, а свойства Caption — Range Test. Получаем: ![]() Закройте окно свойств кнопки, и кликаем по нашей кнопке правой кнопкой мыши, из выпавшего меню выбираем «Исходный текст». Открывается окно редактора VBA, оно называется Microsoft Visual Basic. В нём уже есть заготовка обработчика нажатия на кнопку CommandButton: Private Sub CommandButton_Click()
End Sub Кстати, помотрите на эту заготовку, ключевое слово Sub говорит, что это процедура, а слово Private указывает, что эта процедура видна лишь в данном модуле. Всё у нас готово для начала изучения работы с ячейками рабочего листа Excel. Сделаем активной ячейку A2:A2: Private Sub CommandButton_Click()
    Range(«A2:A2»).Activate End Sub Далее сохраняем, далее Debug — > Compile VBA Project. Если нет ошибок, то запускаем нашу программу: Run — > Run Sub/UserForm. Получаем: ![]() Выделим любую другую ячейу и нажимём на кнопку Range Test. Вновь выделится ячейка «А2». Это значит, что обработчик нажатия на кнопку работает исправно. Выделим интервал ячеек «A2:D2». Вносим в нашу заготовку макроса новый код: Private Sub CommandButton_Click()
    Range(«A2:D2»).Select End Sub Далее сохраняем, далее Debug — > Compile VBA Project. Переходим на рабочий лист Excel и жмем на кнопку Range Test. Получаем: ![]() Внесем число 123 в ячейку «A2:A2» для этого изменим код макроса так: Private Sub CommandButton_Click()
    Range(«A2:A2»).Value = 123 End Sub Далее сохраняем, далее Debug — > Compile VBA Project. Переходим на рабочий лист Excel и жмем на кнопку Range Test. Получаем: ![]() Программирование |
  | |||
 
|
 
|
||||