VBA darbgrāmata - Excel VBA darbgrāmatas objekta izmantošanas piemēri

Satura rādītājs

Excel VBA darbgrāmata

VBA darbgrāmata ir objekts, kas ir daļa no darbgrāmatu objektu kolekcijas. Mēs viegli redzam objekta kolekcijas daļas atšķirību no paša objekta, daudzskaitlī vārds “Darbgrāmatas” norāda, ka tajā ir daudz “Darbgrāmatas”. VBA mums ir vairāki citi objekti, piemēram, darblapas, šūnas un diapazoni, diagrammas un formas.

Excel platformā Excel fails tiek saukts par “darbgrāmatu”, it īpaši VBA. Mēs to nekad nesaucam par failu; drīzāk mēs to saucam par “darbgrāmatu”.

Atsaucoties uz darbgrāmatu, mēs varam veikt visus ar to saistītos uzdevumus. Daži no svarīgiem uzdevumiem ir “Atvērt darbgrāmatu”, “Saglabāt darbgrāmatu”, “Saglabāt kā darbgrāmatu” un “Aizvērt darbgrāmatu”. Mēs varam atlasīt, aktivizēt atvērtās darbgrāmatas.

Sintakse

Tagad paskatieties, kāda ir darbgrāmatas sintakse.

Indekss ir nekas cits kā tā, kuru darbgrāmatu vēlaties atlasīt. Mēs varam atsaukties uz darbgrāmatu pēc darbgrāmatas numura vai pēc darbgrāmatas nosaukuma.

VBA darbgrāmatas objekta koda izmantošana

1. piemērs

Piemēram, man šobrīd ir atvērti divi faili. Pirmais darbgrāmatas nosaukums ir “File 1”, bet otrs darbgrāmatas nosaukums - “File 2”.

Tagad es rakstu kodu trešajā failā. No šī faila es vēlos aktivizēt darbgrāmatu ar nosaukumu “File 1”.

1. darbība: sāciet makro, izveidojot VBA apakšprocedūru.

Kods:

Apakšgrāmata_piemērs1 () Beigu apakšgrupa

2. solis: Tagad atlasiet darbgrāmatas objektu.

3. solis: Tagad ievadiet darbgrāmatu, kuru mēs vēlamies aktivizēt.

Kods:

Apakšdarbgrāmata_piemērs1 () darbgrāmatas ("1. faila beigas

4. solis: Pēc darbgrāmatas nosaukuma ievadīšanas mums jāievada arī faila paplašinājums. Esmu saglabājis šo darbgrāmatu kā parastu darbgrāmatu, ti, “xlsx” darbgrāmatu.

Kods:

Darbgrāmatas_piemērs1 () darbgrāmatas ("Fails 1.xlsx") Apakšgrupa

5. solis: Tagad mums jāizlemj, ko mēs vēlamies darīt ar šo darbgrāmatu. Ievadiet punktu, lai redzētu visas šajā darbgrāmatā pieejamās opcijas.

6. solis: Tagad mums jāaktivizē darbgrāmata, atlasiet metodi kā “Aktivizēt”.

Kods:

Apakšgrāmata_piemērs1 () darbgrāmatas ("Fails 1.xlsx"). Aktivizējiet beigu apakšgrupu

Nav svarīgi, kurā darbgrāmatā atrodaties. Tā aktivizēs norādīto darbgrāmatu.

Tiklīdz atlasāt darbgrāmatu, tā kļūst par “Aktīvo darbgrāmatu”.

2. piemērs - ievadiet vērtības darbgrāmatā

Kā es teicu, tiklīdz esat atlasījis darbgrāmatu, tā kļūst par aktīvo darbgrāmatu. Izmantojot Active Workbook, mēs varam atsaukties uz šūnu.

Aktīvajā darbgrāmatā mums ir jāatlasa lapa pēc nosaukuma, vai arī mēs izmantojam vārdu Aktīvā lapa.

Aktīvajā darblapā mums jāizvēlas šūna, izmantojot objektu Range.

Kods:

Sub darbgrāmata_piemērs1 () darbgrāmatas ("File 1.xlsx"). Aktivizējiet ActiveWorkbook.ActiveSheet.Range ("A1"). Vērtība = "Labdien" Beigas Sub

Palaižot šo kodu, izmantojot F5 taustiņu vai manuāli, tas darbgrāmatas “File 1.xlsx” šūnā A1 ievietos vārdu “Hello ”.

Lai veiktu to pašu darbu, mēs varam izmantot arī zemāk redzamo kodu.

Kods:

Apakšgrāmata_piemērs1 () darbgrāmatas ("File 1.xlsx"). ActiveSheet.Range ("A1"). Vērtība = "Labdien" Beigas Sub

Tas arī ievietos vārdu “Labdien” darbgrāmatā “File 1.xlsx”.

3. piemērs - piešķirt darbgrāmatu mainīgajam

Deklarēto mainīgo varam arī piešķirt datu tipam kā “darbgrāmatu”. Paziņojiet mainīgo kā darbgrāmatu.

Kods:

Apakšgrāmata_piemērs2 ()

Dim WB kā darbgrāmata

Beigu apakšnodaļa

Tagad mums ir jāiestata objekta mainīgais uz darbgrāmatas nosaukumu, izmantojot vārdu “Set”.

Kods:

Sub darbgrāmatas_piemērs2 () Dim WB kā darbgrāmatas kopa WB = Workbooks ("File 1.xlsx") Beigas Sub

Turpmāk mainīgajam “WB” pieder darbgrāmatas nosaukums “File 1.xlsx”.

Izmantojot mainīgā nosaukumu, mēs varam ievietot vārdus.

Kods:

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 () Dim WB kā darbgrāmata katram WB Workbooks WB. Saglabāt nākamo WB End Sub

Palaižot šo kodu, izmantojot F5 taustiņu vai manuāli, tiek parādīts uznirstošais logs, kurā tiek lūgts saglabāt darbgrāmatu. Noklikšķiniet uz Labi, lai saglabātu.

Izmantojiet zemāk esošo kodu, lai aizvērtu visas darbgrāmatas, izņemot to, pie kuras strādājat.

Kods:

Sub Close_All_Workbooks () Dim WB kā darbgrāmata katrai WB darbgrāmatās, ja WB. Nosaukiet šo darba grāmatu. Nosaukums, tad WB. Aizveriet beigas, ja nākamais WB beigu apakšdaļa

Pirms darbgrāmatas aizvēršanas parādās uznirstošais logs.

Interesanti raksti...