Sisukord
See artikkel on osa minu sarjast: Excel VBA & Makros - samm-sammult täielik juhend Me arutame ainult 10 enamasti kasutatava Exceli VBA objekti nimekirja.
Lae alla praktiline töövihik
Lae alla see harjutusvihik, et seda artiklit lugedes harjutada.
VBA objektid.xlsmMis on VBA objektid?
An Objekt on käsk või midagi, mida kohaldatakse VBA-koodis mõne konkreetse ülesande täitmiseks.
The VBA (Visual Basic Application) on objektorienteeritud programmeerimiskeel. Objekt on üks VBA elemente.
Objektil on oma omadus ja meetod. Meetod on selle objekti poolt sooritatav toiming ja omadus selgitab selle objekti omadusi.
VBA objektide atribuudid
VBA objekti rakendamiseks peab objektil olema meetod või omadus. Neid atribuute käsitleme siinkohal.
Omadused
VBA objekti omadused võib mõelda objektide seadistustena.Excelis on palju objekte. Enamikul Exceli VBA objektidest, millega me töötame, on omadused.
Näide:
- Vahemiku objekt on omadusi. Mõned neist on Veerg , Valem , Rida , Laius ja Väärtus .
- A Graafik objektil on omadused, näiteks Legend , ChartArea , ChartStyle ja nii edasi.
- ChartTitle on samuti objekt, millel on sellised omadused nagu Font , Formaat ja Piiril .
VBA objekti omaduste kasutamine:
Me võime kirjutada VBA koodi, et teha järgmist:
- Saate uurida objekti praeguseid omaduste seadistusi ja teha midagi nende seadistuste põhjal.
- Saate muuta objekti omaduste seadeid, määrates uusi väärtusi.
Vaadake seda VBA avaldust:
Range("E10").Value
Selles avalduses, Range on objekt, Väärtus on üks omadustest. VBA avalduses on objektid ja omadused paigutatud kõrvuti, eraldades neid punktiga ( punkt, . ). Esmalt paigutatakse objektid, seejärel nende omadused.
Näiteks järgmine VBA avaldis seab väärtuse Väärtus omadus Vahemik E10:100 .
Range("E10").Value = 100
See avaldus põhjustab arvu 100 kuvada Lahter E10 .
Meetodid:
A meetod on objektile rakendatud tegevus.Objektidel on ka meetodid. Näiteks, Range objektidel on Selge Meetod. Järgmine VBA-käsklus kustutab a Range See väide on samaväärne valikuga Range ja seejärel valides Avaleht ➪ Redigeerimine ➪ Tühista ➪ Tühista kõik ➪ Tühista kõik :
Range("A10:C20").Clear
VBA koodis näevad meetodid välja nagu omadused. Meetodid on objektidega seotud eraldusoperaatoriga (.). Meetodid ja omadused on VBAs siiski erinevad mõisted.
Loe edasi: Exceli diagramm kaob, kui andmed on peidetud (3 lahendust)
Loetelu 10 enamasti kasutatavast VBA objektist Excelis
Objektide puhul on olemas hierarhia, mida Excel järgib:
Rakendus → Töövihik → Tööleht → Vahemik
Siinkohal käsitleme üksikasjalikult Exceli VBA kõige sagedamini kasutatavate objektide loetelu.
1. Rakendusobjekt
The Taotlus objekt on üks Exceli kõige laialdasemalt kasutatavaid objekte. Seda kasutatakse kogu Exceli rakenduse kujutamiseks.
Meetodid | Omadused |
---|---|
Arvuta | ActiveCell |
CalculateFull | ActiveSheet |
InputBox | ActiveWindow |
Lõpeta | ActiveWorkbook |
Käivita | DisplayScrollBars |
Undo | DisplayFormulaBar |
Oodake | Tee |
StatusBar |
Me peame lisama vajaliku omaduse või meetodi, kui rakendame seda objekti Excelis.
Näide 1:
Siin kasutasime me Arvuta meetod. Seda makrot kasutatakse kõigi avatud töövihikute arvutamiseks.
Sub Calculate_All_Opened_Workbooks() Application.Calculate End Sub
Näide 2:
Alljärgnevas näites kasutasime DisplayScrollBars omadus koos Taotlus Selle makro eesmärk on kerimisriba peitmine.
Sub Hide_Status_Bar() Application.DisplayScrollBars = False End Sub
Siin paneme staatuse Vale , mis tähendab, et see ei näita Exceli lehe kerimisribasid.
Loe edasi: Kuidas avada Exceli VBA abil töövihik teekonnast (4 näidet)
2. Tööraamatute objekt
Tööraamatud objekt on seotud töövihikuga. See tähistab Exceli rakenduses hetkel avatud töövihikute nimekirja.
Meetodid | Omadused |
---|---|
Lisa | Taotlus |
CheckOut | Krahv |
Sulge | Looja |
Avatud | Punkti |
Vanem |
Näide 1:
Siin rakendasime lihtsat VBA-koodi, mis põhineb objektil Workbooks, mis sulgeb Exceli töövihiku.
Sub Close_All_Opened_Workbooks() Workbooks.Close End Sub
Näide 2:
See näide lisab uue muutuja page_1 kohta Disney.xlsx töövihik.
Sub Add_Variable_to_Specific_Workbook() Set page_1 = Workbooks.Item("Disney.xlsx") End Sub
3. Töövihiku objekt
The Töövihik objekt esindab ühte töövihikut. See on liikme Tööraamatud mis on parajasti aktiivsed või avatud. Pigem on töövihik töölehtede kogum.
Meetodid | Omadused |
---|---|
Aktiivne | ActiveChart |
AddToFavourite | ActiveSheet |
Sulge | AutoSaveOn |
DeleteNumberFormat | Täielik nimi |
Salvesta | UserStatus |
SaveAs |
Näide 1:
Me tahame sulgeda praeguse töövihiku.
Sub Close_Single_Workbook() ActiveWorkbook.Close End Sub
Sarnast koodi rakendasime ka töövihiku sulgemisele. Objekt Workbooks rakendub kõigile avatud töövihikutele. Kuid objekt Workbook on rakendatav ainult aktiivsele töövihikule.
Näide 2:
Selles näites nimetame lahtri, kasutades selleks funktsiooni Töövihik objekt.
Sub Name_A_Cell() ActiveWorkbook.Names.Add Name:="myName", RefersToR1C1:="=Sheet1!R5C5" End Sub
4. Lehtede objekt
The Lehed objekt on seotud määratud või aktiivse Exceli töövihiku igat liiki lehtedega. Lehed võivad olla töölehed, diagrammilehed, mikrolehed.
Meetodid | Omadused |
---|---|
Lisa | Taotlus |
Add2 | Krahv |
Koopia | Punkti |
Kustuta | Vanem |
Liikumine | Nähtav |
PrintOut | |
PrintPreview | |
SelectCalculate |
Näide 1:
See VBA-kood aktiveerib 2. töövihiku leht.
Sub Activate_Workbook() Worksheets(2).Activate End Sub
Näide 2:
Selles näites lisame uue lehe pärast lehe 1. leht.
Sub Add_New_Sheet() Sheets.Add after:=Sheets(1) End Sub
5. Töölehtede objekt
See Töölehed objekt on osa Lehed objekt. See on ainult töölehtede kogumik. Kuid Lehed objekt sisaldab ka kaardilehti ja mikrolehti.
Meetodid | Omadused |
---|---|
Koopia | Taotlus |
Kustuta | Krahv |
Liikumine | Looja |
PrintOut | Punkti |
PrintPreview | Vanem |
Valige | Nähtav |
Lisa | |
Add2 |
Näide 1:
See aktiveerib 2. järgmise töövihiku tööleht
Sub Activate_Worksheet() Worksheets(2).Activate End Sub
Me võime kasutada ka Lehed objekti. Aga kui me kasutame Lehed objekt, mis võib aktiveerida diagrammi või mikrolehe, sõltub ka määratud töövihiku asukohast.
Näide 2:
Kopeerime lehe meie soovitud kohta töövihikusse.
Sub Copy_A_Worksheet() Worksheets("Disney").Copy Before:=Worksheets("Sheet1") End Sub
Sarnased lugemised
- 22 makro näited Excel VBAs
- 20 praktilist kodeerimisnõuannet Exceli VBA omandamiseks
- Kuidas kirjutada VBA-koodi Excelis (lihtsate sammudega)
- VBA makrode tüübid Excelis (Kiirjuhend)
- Sissejuhatus VBA funktsioonidesse ja rakendustesse
6. Töölehe objekt
The Tööleht objekt on osa Töölehed See kujutab endast ainult ühte töölehte. Selles jaotises näidatakse VBA-koodi näidis, mis põhineb Tööleht objekt, mis nimetab töölehe ümber.
Meetodid | Omadused |
---|---|
Aktiveeri | Taotlus |
Arvuta | Rakud |
CheckSpelling | Veerud |
Koopia | Kommentaarid |
Kustuta | Nimi |
Hinda | Järgmine |
Liikumine | Ümbrised |
Paste | PageSetup |
PasteSpecial | Vanem |
PrintOut | Range |
PrintPreview | Rid |
SaveAs | Kujundid |
Valige | Sorteeri |
Tab | |
Tüüp | |
Nähtav |
Näide 1:
Aktiivse töölehe nimi muutub pärast selle VBA-koodi rakendamist.
Sub Rename_A_Worksheet() ActiveSheet.Name = "Andmekogum -2" End Sub
Näide 2:
Tahame teada praeguse töölehe kohta. Rakendage järgmist VBA-koodi.
Sub Show_Worksheet_Name() MsgBox ActiveSheet.Name End Sub
7. Range Object
The Range objekt on seotud Exceli faili lahtritega. Seda kasutatakse ühe lahtri, rea, veeru või teatud arvu lahtrite, ridade või veergude valimiseks Exceli töölehest. Argumendiks tuleb panna lahtriviide.
Meetodid | Omadused |
---|---|
Aktiveeri | Aadress |
AutoFill | Taotlus |
Arvuta | Valdkonnad |
Selge | Rakud |
Koopia | Veerg |
Kustuta | Krahv |
Leia | End |
Sisesta | Font |
PasteSpecial | Kõrgus |
Asendage | Punkti |
Käivita | Vasakpoolne |
Valige | ListObject |
Näita | Nimi |
Sorteeri | Järgmine |
Tabel | Vanem |
Range | |
Rida | |
Rid | |
Top | |
Valideerimine | |
Väärtus | |
Laius |
Näide 1:
See on VBA-koodi näidis, mis valib vahemiku lahtrid B5:D5 .
Sub Select_A_Range() Range("B5:D5").Select End Sub
Näide 2:
See näide kopeerib teatud vahemiku aktiivsest lehest.
Sub Copy_A_Range1() Range("A1:E1").Copy End Sub
8. Kujundite objekt
The Kujundid objekt on seotud kõigi töölehel olevate kujunditega. Selle objekti abil saame valida ja kustutada või täita muid ülesandeid.
Meetodid | Omadused |
---|---|
AddCallout | Taotlus |
AddConnector | Krahv |
AddLine | Looja |
AddPicture | Vanem |
AddShape | Range |
Punkti | |
SelectAll |
Näide 1:
See VBA-kood valib kõikvõimalikke kujundeid töölehest.
Sub All_Shapes_of_A_Worksheet() ActiveSheet.Shapes.SelectAll End Sub
Näide 2:
Selles näites rakendame soovitud tegevust aktiivse töölehe olemasolevatele kujunditele.
Sub Apply_A_Procedure_on_Shapes() ActiveSheet.Shapes(1).OnAction = "ShapeClick" End Sub
9. Kujundatud objekt
The Kuju objekt on kujundite osa. See tähistab aktiivsel töölehel olevat üksikut kujundit. Seda kasutatakse koos funktsiooniga Kujundid objekt.
Meetodid | Omadused |
---|---|
Rakenda | Taotlus |
Koopia | AutoShapeType |
Lõika | BackgroundStyle |
Kustuta | Graafik |
Duplikaat | Ühendaja |
Valige | Täitke |
Kõrgus | |
Vasakpoolne | |
Nimi | |
OnAction | |
Vanem | |
Peegeldus | |
Pealkiri | |
Top | |
Tüüp | |
Nähtav | |
Laius |
Näide:
Seda lihtsat VBA koodi rakendatakse tähe loomiseks koos 5 servad.
Sub Create_A_Shape() ActiveSheet.Shapes.AddShape msoShape5pointStar, 300, 100, 60, 60 End Sub
Me saame joonistada mis tahes kuju, muutes käsku msoShape5pointStar.
10. ListObject objekt
ListObject on osa ListObjects objekt . A ListObject näitab töölehe ühte tabelit.
Meetodid | Omadused |
---|---|
Kustuta | Aktiivne |
Avalda | Taotlus |
Värskenda | AutoFilter |
Suuruse muutmine | Kommentaar |
Looja | |
Nimi | |
Vanem | |
Range | |
Sorteeri | |
Kokkuvõte |
Näide:
Selle näite eesmärk on andmete väljavõtmine tabelist ja nende salvestamine massiivi.
Sub Store_Data_From_Table_To_Array() Dim D_Table As ListObject Dim D_Array As Variant Dim N As Long Set D_Table = ActiveSheet.ListObjects("My_Data") D_Array = D_Table.DataBodyRange For N = LBound(D_Array) To UBound(D_Array) Debug.Print D_Array(N, 2) Next N End Sub
Loe edasi: Exceli VBA, et täita massiivi lahtri väärtustega (4 sobivat näidet)
Kokkuvõte
Selles artiklis kirjeldasime tavaliselt kasutatavate Exceli VBA objektide nimekirja. Loodan, et see rahuldab teie vajadusi. Palun vaadake meie veebisaiti. ExcelWIKI.com ja esitage oma ettepanekud kommentaarikastis.