Innehållsförteckning
Den här artikeln är en del av min serie: Excel VBA & Macros - en komplett guide steg för steg Vi kommer att diskutera en lista med endast 10 mest använda Excel VBA-objekt.
Ladda ner övningsboken
Ladda ner den här arbetsboken för att träna medan du läser den här artikeln.
VBA-objekt.xlsmVad är VBA-objekt?
En Objekt är ett kommando eller något som används i en VBA-kod för att utföra vissa specifika uppgifter.
VBA (Visual Basic Application) är ett objektorienterat programmeringsspråk. Objektet är en av delarna i VBA.
Ett objekt har en egenskap och en metod. Metoden är den operation som utförs av objektet och egenskapen förklarar objektets egenskaper.
Egenskaper för VBA-objekt
För att tillämpa ett VBA-objekt måste det finnas en metod eller egenskap i objektet. Vi kommer att diskutera dessa attribut här.
Egenskaper
Egenskaper för VBA-objekt kan betraktas som inställningar av objekt.Excel har många objekt och de flesta objekt i Excel VBA som vi arbetar med har egenskaper.
Exempel:
- Objekt för räckvidd har egenskaper. Några av dem är Kolumn , Formel , Rad , Bredd , och Värde .
- A Diagram objektet har egenskaper, t.ex. Legend , ChartArea , ChartStyle och så vidare.
- ChartTitle är också ett objekt, med egenskaper som t.ex. Typsnitt , Format , och Gränsen .
Användning av VBA-objektegenskaper:
Vi kan skriva VBA-kod för att göra följande:
- Du kan undersöka ett objekts aktuella egenskapsinställningar och göra något baserat på dessa inställningar.
- Du kan ändra objektets egenskapsinställningar genom att ange nya värden.
Titta på det här VBA-kommandot:
Range("E10").Värde
I detta uttalande, Utbud är ett objekt, Värde är en av egenskaperna. I VBA-angivelsen placeras objekt och egenskaper sida vid sida och separeras med en punkt ( en punkt, . ). Först placeras objekt och sedan deras egenskaper.
Följande VBA-anvisning anger till exempel att Värde egenskap hos Intervall E10:100 .
Range("E10").Value = 100
Detta uttalande kommer att leda till att antalet 100 som ska visas i Cell E10 .
Metoder:
A metod är en åtgärd som genomförs på ett objekt.Objekt har också metoder, till exempel, Utbud objekt har en Klart metod. Följande VBA-anvisning rensar en Utbud Detta uttalande är detsamma som att välja Utbud och sedan välja Hem ➪ Redigering ➪ Rensa ➪ Rensa alla :
Range("A10:C20").Clear
I VBA-kod ser metoder ut som egenskaper. Metoder kopplas till objekt med en separationsoperator (.). Metoder och egenskaper är dock olika begrepp i VBA.
Läs mer: Excel-diagrammet försvinner när data döljs (3 lösningar)
Lista över 10 mest använda VBA-objekt i Excel
Excel följer en hierarki när det gäller objekt:
Program → Arbetsbok → Arbetsblad → Område
Här kommer vi att diskutera en lista över de vanligaste objekten i Excel VBA i detalj.
1. Objekt för ansökan
Ansökan är ett av de mest använda objekten i Excel och används för att representera hela Excel-programmet.
Metoder | Egenskaper |
---|---|
Beräkna | ActiveCell |
CalculateFull | ActiveSheet |
InputBox | ActiveWindow |
Sluta med | ActiveWorkbook |
Kör | DisplayScrollBars |
Ångra | DisplayFormulaBar |
Vänta | Sökväg |
StatusBar |
Vi måste lägga till den önskade egenskapen eller metoden när vi tillämpar det här objektet i Excel.
Exempel 1:
Här har vi använt oss av Beräkna Metod. Detta makro används för beräkning av alla öppna arbetsböcker.
Sub Calculate_All_Opened_Workbooks() Application.Calculate End Sub
Exempel 2:
I exemplet nedan använde vi DisplayScrollBars med egenskapen Ansökan Syftet med detta makro är att dölja rullgardinsfältet.
Sub Hide_Status_Bar() Application.DisplayScrollBars = False End Sub
Här anger vi status Falskt , vilket innebär att den inte visar rullgardinslinjerna i Excel-arket.
Läs mer: Öppna arbetsbok från sökvägen med Excel VBA (4 exempel)
2. Arbetsböcker Objekt
Arbetsböcker objektet är relaterat till arbetsboken. Det anger listan över de arbetsböcker som för närvarande är öppna i ett Excel-program.
Metoder | Egenskaper |
---|---|
Lägg till | Ansökan |
Utcheckning | Räkna |
Stäng | Skapare |
Öppna | Artikel |
Förälder |
Exempel 1:
Här tillämpar vi en enkel VBA-kod baserad på objektet Workbooks som stänger Excel-arbetsboken.
Sub Close_All_Opened_Workbooks() Workbooks.Close End Sub
Exempel 2:
I det här exemplet läggs en ny variabel till page_1 på den Disney.xlsx arbetsbok.
Sub Add_Variable_to_Specific_Workbook() Set page_1 = Workbooks.Item("Disney.xlsx") End Sub
3. Arbetsboksobjekt
Arbetsbok objektet representerar en enskild arbetsbok. Det är en medlem av Arbetsböcker som för närvarande är aktiva eller öppna. En arbetsbok är snarare en samling arbetsblad.
Metoder | Egenskaper |
---|---|
Aktiv | ActiveChart |
AddToFavourite | ActiveSheet |
Stäng | AutoSaveOn |
DeleteNumberFormat | Fullständigt namn |
Spara | UserStatus |
SaveAs |
Exempel 1:
Vi vill stänga den aktuella arbetsboken.
Sub Close_Single_Workbook() ActiveWorkbook.Close End Sub
Vi tillämpade en liknande kod på den stängda arbetsboken. Objektet Workbooks tillämpas på alla öppnade arbetsböcker, men objektet Workbook tillämpas bara på den aktiva arbetsboken.
Exempel 2:
I det här exemplet namnger vi en cell med hjälp av Arbetsbok objekt.
Sub Name_A_Cell() ActiveWorkbook.Names.Add Name:="myName", RefersToR1C1:="="=Sheet1!R5C5" End Sub
4. Objekt för ark
Ark objektet är relaterat till alla typer av ark i den angivna eller aktiva Excel-arbetsboken. Ark kan vara arbetsblad, diagramblad, mikroblad.
Metoder | Egenskaper |
---|---|
Lägg till | Ansökan |
Add2 | Räkna |
Kopiera | Artikel |
Ta bort | Förälder |
Flytta | Synlig |
Utskrift | |
PrintPreview | |
VäljBeräkna |
Exempel 1:
Denna VBA-kod aktiverar 2:a ark i arbetsboken.
Sub Activate_Workbook() Arbetsblad(2).Activate End Sub
Exempel 2:
I det här exemplet lägger vi till ett nytt blad efter 1:a ark.
Sub Add_New_Sheet() Sheets.Add after:=Sheets(1) End Sub
5. Objekt för arbetsblad
Denna Arbetsblad objektet är en del av Ark objektet. Det är en samling av endast arbetsbladen. Ark Objektet omfattar även diagramblad och mikroblad.
Metoder | Egenskaper |
---|---|
Kopiera | Ansökan |
Ta bort | Räkna |
Flytta | Skapare |
Utskrift | Artikel |
PrintPreview | Förälder |
Välj | Synlig |
Lägg till | |
Add2 |
Exempel 1:
Den aktiverar 2:a arbetsbladet i följande arbetsbok
Sub Activate_Worksheet() Arbetsblad(2).Activate End Sub
Vi kan också använda Ark objektet. Men om vi använder Ark objektet som kan aktivera ett diagram eller mikroblad beror också på var den angivna arbetsboken är placerad.
Exempel 2:
Vi kopierar ett blad till den plats i arbetsboken som vi vill ha.
Sub Copy_A_Worksheet() Worksheets("Disney").Copy Before:=Worksheets("Sheet1") End Sub
Liknande läsningar
- 22 makroexempel i Excel VBA
- 20 praktiska kodningstips för att behärska Excel VBA
- Hur man skriver VBA-kod i Excel (med enkla steg)
- Typer av VBA-makron i Excel (en snabbguide)
- Introduktion till VBA-funktioner och -tillämpningar
6. Objekt för arbetsblad
Arbetsblad objektet är en del av Arbetsblad Den representerar endast ett enda arbetsblad. I det här avsnittet visas ett exempel på VBA-kod baserad på Arbetsblad objekt som byter namn på ett arbetsblad.
Metoder | Egenskaper |
---|---|
Aktivera | Ansökan |
Beräkna | Celler |
CheckSpelling | Kolumner |
Kopiera | Kommentarer |
Ta bort | Namn |
Utvärdera | Nästa |
Flytta | Översikt |
Klistra in | PageSetup |
Klistra inSpecial | Förälder |
Utskrift | Utbud |
PrintPreview | Rader |
SaveAs | Former |
Välj | Sortera |
Fliken | |
Typ | |
Synlig |
Exempel 1:
Namnet på det aktiva arbetsbladet ändras efter att du har tillämpat den här VBA-koden.
Sub Rename_A_Worksheet() ActiveSheet.Name = "Data Set -2" End Sub
Exempel 2:
Vi vill veta vad det aktuella arbetsbladet är. Använd följande VBA-kod.
Sub Show_Worksheet_Name() MsgBox ActiveSheet.Name End Sub
7. Objekt för intervallet
Utbud objektet är relaterat till celler i Excel-filen. Det används för att välja en enda cell, rad, kolumn eller ett visst antal celler, rader eller kolumner från ett Excel-arbetsblad. Vi måste ange cellreferensen i argumentet.
Metoder | Egenskaper |
---|---|
Aktivera | Adress |
AutoFill | Ansökan |
Beräkna | Områden |
Klart | Celler |
Kopiera | Kolumn |
Ta bort | Räkna |
Hitta | Slut |
Infoga | Typsnitt |
Klistra inSpecial | Höjd |
Ersätt | Artikel |
Kör | Vänster |
Välj | ListObject |
Visa | Namn |
Sortera | Nästa |
Tabell | Förälder |
Utbud | |
Rad | |
Rader | |
Topp | |
Validering | |
Värde | |
Bredd |
Exempel 1:
Detta är ett exempel på VBA-kod som väljer celler i intervallet B5:D5 .
Sub Select_A_Range() Range("B5:D5").Select End Sub
Exempel 2:
Det här exemplet kopierar ett visst intervall från det aktiva arket.
Sub Copy_A_Range1() Range("A1:E1").Copy End Sub
8. Objektet Shapes
Former objektet är relaterat till alla former som finns i ett kalkylblad. Vi kan välja och ta bort eller utföra andra uppgifter med hjälp av detta objekt.
Metoder | Egenskaper |
---|---|
AddCallout | Ansökan |
AddConnector | Räkna |
AddLine | Skapare |
AddPicture | Förälder |
AddShape | Utbud |
Artikel | |
SelectAll |
Exempel 1:
Den här VBA-koden väljer alla typer av former från ett arbetsblad.
Sub All_Shapes_of_A_Worksheet() ActiveSheet.Shapes.SelectAll End Sub
Exempel 2:
I det här exemplet tillämpar vi den önskade åtgärden på de befintliga formerna i det aktiva arbetsbladet.
Sub Apply_A_Procedure_on_Shapes() ActiveSheet.Shapes(1).OnAction = "ShapeClick" End Sub
9. Shape Object
Form objektet är en del av Shapes. Det anger en enskild form i ett aktivt arbetsblad. Det används tillsammans med Former objekt.
Metoder | Egenskaper |
---|---|
Ansök på | Ansökan |
Kopiera | AutoShapeType |
Skär | BackgroundStyle |
Ta bort | Diagram |
Dubbla | Anslutning |
Välj | Fyll på |
Höjd | |
Vänster | |
Namn | |
OnAction | |
Förälder | |
Reflektion | |
Titel | |
Topp | |
Typ | |
Synlig | |
Bredd |
Exempel:
Den här enkla VBA-koden används för att skapa en stjärna med 5 kanter.
Sub Create_A_Shape() ActiveSheet.Shapes.AddShape msoShape5pointStar, 300, 100, 60, 60 End Sub
Vi kan rita vilken form som helst genom att ändra kommandot msoShape5pointStar.
10. ListObject Objekt
ListObject är en del av ListObjects Objekt . A ListObject anger en enda tabell i arbetsbladet.
Metoder | Egenskaper |
---|---|
Ta bort | Aktiv |
Publicera | Ansökan |
Uppdatera | AutoFilter |
Ändra storlek | Kommentar |
Skapare | |
Namn | |
Förälder | |
Utbud | |
Sortera | |
Sammanfattning |
Exempel:
I det här exemplet extraheras data från en tabell och lagras i matrisen.
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
Läs mer: Excel VBA för att fylla matriser med cellvärden (4 lämpliga exempel)
Slutsats
I den här artikeln har vi beskrivit de vanligaste Excel VBA-objekten. Jag hoppas att detta uppfyller dina behov. Ta en titt på vår webbplats. ExcelWIKI.com och ge dina förslag i kommentarsfältet.