SBP-Program

діліться своїми знаннями тут

f

tw

in

VBA В Excel

VBA в Excel

Програмування в Excel за допомогою VBA.

Мова VBA дозволяє створювати макроси в Excel. Як це робити розглядається нижче.

Application

Application – це об'єкт, що займає вершину ієрархії об'єктів в Excel. Application - це і є Excel. Ось приклади використання Application:

вікно нормальних розмірів

Application.WindowState = xlNormal

вікно максимальних розмірів

Application.WindowState = xlMaximized

Workbooks

Workbooks – це колекція книг, які відкриті. Кожна робоча книга представлена об'єктом Workbook. Дізнатися скільки робочих книг зараз у колекції можна так:

Dim bookCount As Integer
bookCount = Workbooks.Count
MsgBox ("Opened books = " & bookCount)

Обатиться до потрібної книги в колекції Workbooks можна звернутися за його номером або по імені:

Workbooks.Item(2).Activate

тут ми активізували другий елемент колекції Workbooks.

Інші приклади ми побачимо нижче.

Workbook

Workbook – це робоча книга.

Зберегти робочу книгу:

Workbooks.Item(1).Save

Та де ж у цьому прикладі робоча книга Workbook? Тут: Workbooks.Item(1), цей вираз повертає перший елемент колекції Workbooks, а це і є Workbook.

Закрити робочу книгу:

Workbooks.Item(1).Close

Sheets

Sheets - це все листи робочої книги. Листи робочої книги представлені двома типами: робочі листи - це звичайні аркуші Excel і другий тип - це листи діаграм. Ті й інші складають колекцію Sheets.

Charts

Charts – це тільки діаграми робочої книги.

Chart

Chart – це об'єкт, що представляє одну діаграму. Якщо діаграма міститься в звичайному робочому аркуші, то вона об'єктом Chart не є.

Worksheets

Worksheets – це лише робочі аркуші робочої книги.

Додамо робочий аркуш в колекцію Worksheets:

Worksheets.Add

Worksheet

Worksheet – це один аркуш робочої книги Excel.

Всі комірки робочого аркуша Worksheet:

Worksheets("Лист1").Cells

Range. Робота з комірками в Excel

Range – це одна комірка аркуша або декілька комірок. Цей об'єкт розглянемо детальніше. Встановимо кнопку на робочий аркуш Excel. Відкрийте панель інструментів «Елементи керування» (правою кнопкою миші по вільному полю панелі інструментів і вибираємо з випавшого меню). В цій панелі вибираємо кнопку і встановлюємо її на вільне місце робочого аркуша, в його правій частині. Правою кнопкою миші по нашої кнопки - > Властивості. Встановіть значення властивості Name - CommandButton, а властивості Caption - Range Test.

Отримуємо: VBA Excel

Закрийте вікно властивостей кнопки, і клікаєм по нашій кнопку правою кнопкою миші, з випавшого меню вибираємо «Вихідний текст». Відкривається вікно редактора 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.

Отримуємо: VBA Excel

Виділимо будь-яку іншу ячейу і нажимем на кнопку Range Test. Знову виділиться осередок «А2». Це означає, що оброблювач натискання на кнопку працює справно.

Як виділити ряд комірок?

Виділимо інтервал осередків «A2:D2». Вносимо в нашу заготовку макросу новий код:

Private Sub CommandButton_Click()
    Range("A2:D2").Select
End Sub

Далі зберігаємо, далі Debug – > Compile VBA Project. Переходимо на робочий аркуш Excel і тиснемо на кнопку Range Test.

Отримуємо: VBA Excel

Як встановити значення в комірку?

Внесемо число 123 у клітинці A2:A2 для цього змінимо код макросу так:

Private Sub CommandButton_Click()
    Range("A2:A2").Value = 123
End Sub

Далі зберігаємо, далі Debug – > Compile VBA Project. Переходимо на робочий аркуш Excel і тиснемо на кнопку Range Test.

Отримуємо: VBA Excel