Objekter i VBA


objekter i VBA

Objektorientert programmering (OOP for kort) er basert på ideen om at alt i programmering kan beskrives som et objekt. Disse objektene er ikke fysiske ting vi kan se i det virkelige liv, men virtuelle seg eksisterende i datamaskinens minne.

I de følgende timene, vil jeg skrive om ting knyttet til objekter, for eksempel egenskaper, metoder, hendelser og hierarki.


Søknad objekt og objekt hierarki

Application objektet representerer hele Excel-programmet. Det er plassert på toppen av gjenstanden hierarkiet og den inneholder alle andre objekt. . Følg denne leksjonen å lære mer


De vanligste stedene som stammer fra Program objektet er:

arbeidsbok

Window


Disse objektene kan inneholde andre objekter. La ’ s ta en arbeidsbok for eksempel. Hver arbeidsbok inneholder objekter, for eksempel:

Regneark

Window

Navn


Disse objektene kan også inneholde stedene. For eksempel kan et regneark inneholde følgende objekter:

Navn

Kommentar

link


henvisning til objekter

For å kunne arbeide med VBA-objekter, først må du lære hvordan du kan henvise til dem. Nedenfor finner du eksempler på hvordan du kan korte koden, så det vil være lettere å lese og enklere å skrive


Eksempel:.


    Følgende kode er en referanse til verdien i celle B5. Det kan skrives på følgende form:

    Application.Workbooks(„Book1.xlsx”).Worksheets(„Sheet1”).Range(„B5”).Value



    I VBA, er programmet objektet alltid antatt. Det betyr at vår referanse kan skrives as:

    Workbooks(„Book1.xlsx”).Worksheets(„Sheet1”).Range(„B5”).Value



    Videre, hvis du ønsker å peke på det første regnearket i arbeidsboken du kan bruke:
    arbeidsbøker („ Book1.xlsx ”) Regneark (1) .Range („ B5 &rdquo. .;) Verdi

    ​​

    Hvis du ikke ’ t referere til en bestemt arbeidsbok, Excel forutsetter at regnearket er i dag åpnet arbeidsbok:
    regneark (1) .Range („ B5 ”) Verdi

    ​​

    Det samme med regnearket.. Hvis du mister ordet, vil Excel anta at området er i det aktive regnearket
    Range („ B5 ”).. Verdi

    ​​

    Fordi Verdi behandles som standard eiendom I dette tilfellet kan vi også lage en referanse uten verdi eiendommen. Den endelige referanse vil være:
    Range („ B5 ”)


    Object Properties

    Hver fysisk objekt har noen egenskaper. Det kan være farge, størrelse, vekt, navn og så videre. Men ikke bare objekter i det virkelige liv har egenskaper, også virtuelle VBA objekter har dem.

    Det er tusenvis av eiendommer i Excel, kan noen av dem endres og de andre som er skrivebeskyttet. Du skjønner ’ t må huske dem alle. Du vil trolig bruke bare en liten brøkdel av de viktigste


    Eksempel 1:.

    Se på følgende eksempel. Det blir verdien fra celle B5 og viser det på MsgBox
    vinduet.


    Sub displayCellValue () cellValue = Regneark ("Ark1"). Range ("B5"). ValueMsgBox cellValueEnd Sub

    Dette er et resultat som genereres av makro


    Eksempel 2:.

    I det andre eksemplet endre denne verdien til 1234.
    Sub changeCellValue () Regneark ("Ark1"). Range ("B5"). Verdi = 1234End Sub

    Dette vil gi oss følgende resultat.


    Objektmetoder

    I forrige leksjon, Jeg presenterte objektegenskaper. I denne leksjonen skal jeg beskrive metoder.

    Metoden er en handling som er utført av et objekt

    La ’ s ta en real-life objekt:. en bil. Bilen har slike egenskaper som farge, fart, vekt, etc. Men i tillegg til dette er kan utføre handlinger, for eksempel start motor, kjøre, stoppe og så videre.

    I de følgende eksemplene, jeg beskrive noen metoder du kan bruke i Excel 2013.


    Eksempel 1:

    I følgende eksempel, vil vi fjerne celler . fra B2 til C5


    For å gjøre dette, kan vi bruke følgende kode:
    Sub clearData () Range ("B2: C5"). ClearContentsEnd Sub

    Dette vil gi oss følgende resultat:


    Eksempel 2:

    Samlinger, samt andre objekter i Excel, kan bruke metoder. Følgende makro vil skape en ny arbeidsbok
    Sub createWorkbook () Workbooks.AddEnd Sub


    Eksempel 3:.

    Denne metoden vil vise nummeret som forteller deg hvor mange arbeidsbøker er nå åpnet.
    Sub countWorkbooks () MsgBox Workbooks.CountEnd Sub


    Objekt Arrangementer

    En hendelse i Excel er et action (utført av en bruker) som kan utføre VBA-kode. Nedenfor finner du en eksempelliste over hendelser som kan utløse kjøring av kode.



    Aktivere eller deaktivere et objekt (regneark, vindu, etc.)
    < li> Legge inn data i en celle.

    Åpning eller lukking av arbeidsboken.

    Lagre arbeidsboken.

    Forekomst av en bestemt dato.

    Bruk av en bestemt tastekombinasjon


    Opprette en hendelse

    For å opprette arrangementet, må du først åpne Visual Basic Editor (VBE) ved å velge UTVIKLER >. > Kode > > Visual Basic, eller snarvegen Alt + F11.


    Når et nytt vindu vises, utføre følgende handlinger:


      Dobbeltklikk „ Thisworkbook ”.

      Velg „ arbeidsbok ” fordi vi ønsker å utløse koden når noe med arbeidsboken skjer.

      Klikk på hendelsen som du ønsker å kjøre koden.



      KUNNGJØRING

      Når du begynne å klikke forskjellige hendelser i listen, Excel vil automatisk gå inn i nye ubåter. Så lenge det er ingen kode i dem, de vant ’ t har noen effekt på regnearket. Du kan også slette dem hvis du don ’ t ønsker tomme ubåter å være synlig


      Eksempel:.

      Denne koden vil markere celle A1 med en tilfeldig farge hver gang du aktiverer arbeidsbok . Du kan aktivere arbeidsbok når du åpner den, eller når du bytter fra et annet åpnet arbeidsbok.
      Private Sub Workbook_Activate () r = WorksheetFunction.RandBetween (0, 255) g = WorksheetFunction.RandBetween (0, 255) b = WorksheetFunction. TILFELDIGMELLOM (0, 255) Range ("A1"). SelectWith Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic Color = RGB (r, g, b) End WithEnd SubPrivate Sub Workbook_Open () End Sub



      Previous: