VBA ME

Me Keyword i VBA Excel

Jag är säker på att du måste ha haft den här frågan "Vad är" ME "i VBA? Ja, även jag hade den här frågan när jag var ny i VBA. Efter att ha spenderat mycket tid har jag upplevt ME-nyckelord i excel VBA-kodning. Det är lite avancerad nivå om du är starter i VBA. Hur som helst, du kommer att få tag på det långsamt. I den här artikeln visar vi dig hur du använder nyckelordet “Me” i Excel VBA-kodning.

”ME” är objektet i VBA som är specialdesignat som är inbyggt för att utmärka sig. Det pekar på objektet som finns i och vi kan kalla det objektet med "ME" nyckelord. "ME" representerar det överordnade objektet varifrån koden finns.

Om du inte förstår tekniskt någonting, oroa dig inte för när exemplen kommer kommer du att lära känna detta bättre. Innan det låt mig ge lite bakgrund i VBA.

När vi skriver excel-makron skriver vi i ”Modules” och i moduler, vi har två uppsättningar moduler. Den första är "Standardmoduler" och den andra är "Klassmoduler".

Vidare i VBA-klassmoduler har vi två underkategorier, dvs. modul med användargränssnittselement och modul utan gränssnittselement. Men för detta exempel kommer vi endast att ta hänsyn till "Modul med användargränssnittselement" .

Några av exemplen för dessa moduler är ThisWorkbook, Sheet1, UserForm1 och så vidare.

Detta är den allmänna översikten över ME-nyckelordet i VBA. Nu kommer vi att se praktiska exempel på ME-ord.

Hur använder jag ME i Excel VBA?

För ett exempel, se nedanstående kod i modul 1.

Kom ihåg att detta är koden som jag hade skrivit i modul 1. Detta infogar ordet “Hej vänner” i kalkylbladet som heter “Datablad”.

För att hänvisa till arket ”Datablad” har vi använt kalkylarkobjekt och angett kalkylbladet med dess namn.

Nu dubbelklickar jag på "Datablad".

Så snart vi dubbelklickar kan vi se det tomma kodningsfönstret på höger sida.

Starta nu VBA-delproceduren.

Koda:

 Sub Me_Example () Avsluta Sub 

Eftersom jag bara skriver koden i det här bladet kan jag bara kalla detta ”ME” istället för att nämna kalkylbladets namn.

Vi kan se IntelliSense-listan med ME-ord. Nu fungerar ordet ”ME” som en implicit deklarerad objektvariabel.

Använd nu 'VBA Me' för att få åtkomst till Range-objekt i VBA och infoga samma ord som ovan i arket.

Koda:

 Sub Me_Example () Me.Range ("A1"). Value = "Hello Friends" End Sub 

Detta infogar samma ord som vårt tidigare makro i excel-arket.

Här är en sak som vi har märkt att vi kan se ordet ”ME” bara i de specifika objekten och det ordet representerar objektet där kodskrivningen pågår.

I det här exemplet representerar Me-nyckelordet kalkylbladet " Datablad ".

Nedan följer några exempelkoder för ME-ord.

Du kan ladda ner denna VBA Me Excel-mall här - VBA Me Excel-mall

Exempel nr 1

Koda:

Sub Me_Example () Me.Range ("A1"). Värde = "Hello Friends" 'Detta infogar Hello Friends till cellen A1 i ett datablad. Me.Name = "Nytt ark" 'Detta ändrar bladnamnet från databladet till nytt ark. Me.Välj 'Detta väljer arket. Avsluta sub

När vi kör koden ovan med hjälp av F5-tangenten, i A1-cellen får vi Hej Vänner, arkenamnet ändras från datablad till nytt ark och det här arket blir valt.

Exempel # 2 - VBA ME med användarformulär

”ME” är det nyckelord som ofta används med användarformulär i VBA. För ett exempel, se nedanstående bild av det nyligen infogade användarformuläret i VBA.

Detta användarformulär är "UserForm1".

Närhelst vi vill adressera detta användarformulär från en annan modul kan vi kalla det med detta namn, dvs. ”UserForm1”.

Men när vi arbetar inom detta användarformulär behöver vi inte förlita oss på namnet på användarformuläret utan vi kan bara använda ordet "Me".

Låt oss rita en enkel textruta på användarformuläret.

Dubbelklicka på användarformuläret för att se nedanstående makro.

Nu för att infoga text i den nyligen infogade textrutan kan vi använda två metoder.

# 1 - Först kan vi adressera användarformuläret med dess namn och textrutan med dess namn.

Koda:

Private Sub TextBox1_Change () UserForm1.TextBox1.Text = "Välkommen till VBA !!!" Avsluta sub

UserForm1 är namnet på användarformuläret. TextBox1 är namnet på textrutan. Så vi har lagt in texten ”Välkommen till VBA !!!”.

# 2 - Eftersom vi skriver koden i samma användarform kan vi kalla detta med "ME".

Koda:

Privat sub TextBox1_Change () Me.TextBox1.Text = "Välkommen till VBA !!!" Avsluta sub

Detta kommer också att göra samma sak som ovanstående kod.

Så här kan vi i VBA referera till objektet med ordet ”ME” när vi specifikt skriver koden i dessa objekt.