Работна книга на VBA - Примери за използване на обект на работна книга на Excel VBA

Работна книга на Excel VBA

VBA Workbook е обект, който е част от колекцията обекти на Workbooks. Лесно виждаме разликата в част от колекцията на обекти и самия обект, множествена дума на „Workbooks“ се отнася, че има много „Workbook“. Във VBA имаме няколко други обекта като работни листове, клетки и диапазони, диаграми и фигури.

В платформата на Excel файлът на Excel се нарича „Работна книга“, особено във VBA. Никога не го наричаме файл; по-скоро го наричаме „Работна книга“.

Позовавайки се на работната книга, можем да изпълним всички задачи, свързани с нея. Някои от важните задачи са „Open Workbook“, „Save Workbook“, „Save As Workbook“ и „Close Workbook“. Можем да избираме, активираме отворените работни книги.

Синтаксис

Сега вижте какъв е синтаксисът на работната книга.

Индексът не е нищо друго освен коя работна книга искате да изберете. Можем да се позовем на работната книга по номер на работна книга или по име на работната книга.

Използване на обектния код на VBA WorkBook

Пример # 1

Например в момента имам отворени два файла. Името на първата работна книга е „Файл 1“, а на втората работна книга е „Файл 2“.

Сега пиша кода в третия файл. От този файл искам да активирам работната книга, наречена „Файл 1“.

Стъпка 1: Стартирайте макроса, като създадете VBA подпроцедура.

Код:

Sub Workbook_Example1 () Край Sub

Стъпка 2: Сега изберете обекта на работната книга.

Стъпка 3: Сега въведете работната книга, която искаме да активираме.

Код:

Sub Workbook_Example1 () Workbooks ("Файл 1 Край Sub

Стъпка 4: След въвеждане на името на работната книга трябва да въведем и разширението на файла. Запазил съм тази работна книга като обикновена работна книга, т.е. работна книга „xlsx“ .

Код:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx") End Sub

Стъпка 5: Сега трябва да решим какво искаме да правим с тази работна книга. Въведете точка, за да видите всички опции, налични в тази работна книга.

Стъпка 6: Сега трябва да активираме работната книга, изберете метода като „Активиране“.

Код:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Активирайте End Sub

Няма значение в коя работна книга се намирате. Тя ще активира посочената работна книга.

Веднага щом изберете работната книга, тя се превръща в „Активна работна книга“.

Пример # 2 - Въведете стойности в работната книга

Както казах веднага след като изберете работната книга, тя се превръща в Активна работна книга. Използвайки Active Workbook, можем да направим препратка към клетката.

В активната работна книга трябва да изберем листа по името му, или в противен случай използваме думата Активен лист.

В активния работен лист трябва да изберем клетката, като използваме обекта Range.

Код:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). Активирайте ActiveWorkbook.ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Когато стартирате този код с помощта на клавиша F5 или ръчно, той ще вмъкне думата „Здравейте“ в клетката А1 в работната книга „Файл 1.xlsx“.

Също така можем да използваме кода по-долу, за да свършим същата работа.

Код:

Sub Workbook_Example1 () Workbooks ("File 1.xlsx"). ActiveSheet.Range ("A1"). Value = "Hello" End Sub

Това също ще вмъкне думата „Здравейте“ в работната книга „Файл 1.xlsx“.

Пример # 3 - Присвояване на работна книга на променлива

Също така можем да присвоим типа данни като „работна книга“ на декларираната променлива. Декларирайте променливата като работна книга.

Код:

Подработна книга_Пример2 ()

Затъмнете WB като работна книга

Крайна под

Сега трябва да зададем обектната променлива на името на работната книга, като използваме думата „Set“.

Код:

Sub Workbook_Example2 () Dim WB As Workbook Set WB = Workbooks ("File 1.xlsx") End Sub

Отсега нататък променливата „WB“ съдържа името на работната книга „Файл 1.xlsx“.

Използвайки името на променливата, можем да вмъкнем думите.

Код:

Sub Workbook_Example2() Dim WB As Workbook Set WB = Workbooks("File 1.xlsx") WB.Worksheets("Sheet1").Range("A1") = "Hello" WB.Worksheets("Sheet1").Range("B1") = "Good" WB.Worksheets("Sheet1").Range("C1") = "Morning" End Sub

Run this code manually or use shortcut key F5 and see the result, as shown in the below screenshot.

WB.Worksheets("Sheet1").Range("A1") = "Hello"

Here WB is referencing the workbook, in that workbook, we are referencing the worksheet Sheet1 by using the Worksheets object. In that worksheet cell, A1 is equal to the value of “Hello.”

We can also reference the workbook by index number as well. For example, look at the below code.

Code:

Sub Workbook_Example3() Workbooks(1).Activate Workbooks(2).Activate Workbooks(3).Activate End Sub

Here Workbooks (1) means whichever the workbook first on the list, like this similarly Workbooks (2) refers to the second workbook, and Workbooks (3) refers to the third workbook.

The main problem with this index number referencing is we don’t know exactly which workbook activated. It is dangerous to use index numbers.

Example #4 - For Each Loop for Workbook Object

As I told in the beginning, the workbook is a collection object of Workbooks in VBA. Whenever we want to perform the same kind of activity for all the opened workbooks, we need to use For Each loop in VBA.

For Each Loop is the loop for all the objects in VBA. Use the below code to save all the opened workbooks.

Code:

Sub Save_All_Workbooks () Затъмняване на WB като работна книга за всеки WB в работни книги WB. Запазване на следващия WB End Sub

Когато стартирате този код чрез клавиша F5 или ръчно, се появява изскачащ прозорец, който иска да запази работната книга. Щракнете върху Ok, за да запазите.

Използвайте кода по-долу, за да затворите всички работни книги с изключение на тази, по която работите.

Код:

Sub Close_All_Workbooks () Затъмняване на WB като работна книга за всяка WB в работни книги Ако WB.Name ThisWorkbook.Name Тогава WB.Затваряне на края, ако следващата WB End Sub

Изскачащ прозорец идва преди затварянето на работната книга.

Интересни статии...