Excel VBA-uppsättning

"Set", är ett nyckelord som används i VBA-programmering för att tilldela en referens till ett objekt eller cellområde som kommer att förbli fixa i hela programmet eller koden i Excel. VBA-set hjälper oss i grund och botten att undvika repetitiv inmatning av det intervall vi behöver välja medan koden körs. I excel används ”Set” oftast på kalkylblad / cellintervall i ett visst ark.

Syntax:

Ställ in objektnamn / variabel = Objekt / intervall

Obs: Du måste ha utvecklare-fliken i Excel-kalkylbladet.

Om du inte ser fliken "Utvecklare" i Excel, se stegen nedan:

Steg 1: Klicka på File Alternativ.

Steg 2: Listrutan visas, Klicka på fliken Alternativ .

Steg 3: När du klickar på “Alternativ” visas en dialogruta som visas nedan och klickar på alternativet Anpassa band .

Steg 4: När vi drar ned i anpassade bandalternativ hittar vi ett alternativ för Developer måste vi kryssa för den rutan som gör att vi kan använda VBA i Excel.

Hur använder jag ett inställt nyckelord i VBA?

Nedan är de olika exemplen att använda uppsatta nyckelord i Excel VBA.

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

Excel VBA-set - exempel # 1

Vi ska ta ett enkelt exempel på ett Set-nyckelord i Excel VBA. Anta att vi skulle vilja välja ett intervall och ställa in det som fixområde för att undvika upprepningen. Nedan är cellområdet som innehåller namnen:

Följ stegen nedan för att använda ställa nyckelord i Excel VBA:

Steg 1: Klicka på fliken "Utvecklare" och klicka sedan på alternativet "Visual Basic" på vänster sida (första alternativet) som visas nedan.

När du klickar på det visas ett nytt fönster som visas nedan:

Du kommer att märka att den innehåller två flikar på vänster sida, "Sheet1 (Sheet1)" och "ThisWorkbook". Den enda skillnaden är "Sheet1" när du bara vill köra kod för just det här bladet och i "ThisWorkbook" kan vi skriva en kod och köra som kan användas för hela Excel-arbetsboken.

Steg 2: Dubbelklicka på “Sheet1 (She11) så ser du en tom skärm där vi behöver skriva koden. Förklara först en delmängd som Sub- namn och tryck på enter så ser du en delmängd skapad som visas nedan:

Koda:

 Sub setexmp () Slut Sub 

Så här skapar vi en delmängd och automatiskt visas "End Sub". Detta är som standard funktionen i Excel. Om “End Sub” inte visas kommer koden inte att köra och kasta ett fel.

Steg 3: Nu ska vi förklara variabler som ska användas i koden.

Skriv Dim-variabelns namn och variabeltyp. Här kommer namnet att vara som identiteten för intervallet och typen skulle vara antingen som heltal, lång, sträng, räckvidd etc.

Koda:

 Sub setexmp () Dim Rnst As Range End Sub 

Här är "Rnst" ett variabelnamn och tilldela (som) det som intervallfunktion. Detta kommer att varna systemet om att ett intervallval skulle göras.

Steg 4: Skriv sedan "Ställ in" nyckelord och ge ett intervall med formatet: Ställ in variabel = Område ("cellområde") .

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") End Sub 

Steg 5: Vi måste välja det angivna radområdet. Skriv därför markera som Rnst.Select Refer skärmdump nedan:

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select End Sub 

Steg 6: Kör koden genom att slå F5 eller Run-knappen och se utgången.

Det kommer att välja det angivna intervallet som är från cellerna A2 till A11.

Excel VBA-set - exempel # 2

Anta att vi vill klistra in dessa celler eller räcka i en annan cell. Vi ska använda samma kod som ovan och lägga till kod för att klistra in den informationen i flera kolumner.

Följ stegen nedan:

Steg 1: Nu kommer vi att kopiera cellintervallet som är namnet på kolumnen. Skriv kopia dvs. "Rnst.Copy", när du skriver "Rnst." Visas en typ av rullgardinsmeny. Den innehåller olika funktioner som kopia, klistra in etc.

Steg 2: Du kan bläddra ner och välja önskad funktion som du vill utföra. Här skriver du bara "Kopiera" som visas på skärmdumpen nedan:

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy End Sub 

Steg 3: Kompilera koden genom att trycka på F8-tangenten.

En gång kör du denna kopieringsfunktion kommer du att se att i excel kopieras intervallet och prickade linjer visas runt cellområdet som visas nedan:

Steg 4: Nu måste vi klistra in dessa celler, säg i närliggande kolumner en och en, så vi måste använda en slingfunktion "För" och antar att 5 gånger vi behöver klistra in så att vi skriver den som visas nedan:

För heltal i = 1 till 5 -> anger detta hur många gånger vi behöver klistra in data. Om 5 så är 1 till 5 annat beroende på vilket du räknar.

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 To 5 End Sub 

Steg 5: Välj en cell där du vill klistra in detta cellintervall. Anta att vi vill börja klistra in från kolumn B2 och sedan klistra in uppgifterna ska vara dynamiska, dvs att de automatiskt ska välja angränsande kolumner en efter en utan att överlappa varandra. Följaktligen skulle syntaxen vara "Cell (radnummer, kolumnnummer). PasteSpecial".

Celler (2, i + 1). PasteSpecial, här representerar 2-> radnumret och i + 1 -> representerar kolumnnummer. i + 1 betyder det första värdet på I som förklaras i “For” -slingan är i = 1, följaktligen kommer kolumnvärdet att bli 2, det anger att det börjar klistra in från kolumn B. Och när och i-värdet ökar kommer det att fortsätta välja angränsande kolumner en och en.

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy För i = 1 till 5 celler (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Steg 6: Skriv " Nästa i " vilket innebär att du ökar värdet på "i" en efter en så att kolumnklistringen förblir dynamisk.

Koda:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy För i = 1 till 5 celler (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Steg 7: Tryck på “F8” för att se koden exekvera rad för rad och visar dig klistra in cellen i intilliggande kolumner en och en.

Här kan du se värdet på i är 1 och data har klistrats in i kolumn B efter önskemål.

Steg 8: Nu när du trycker på “F8” igen ser du att nu är värdet på i 2. Därmed blir 2 + 1 3 och data klistras in i Cell (2, 3), dvs. radvärdet är samma men kolumn antal ändras som visas på skärmdumpen nedan:

Efter att repetitionen har upprepats ser du data klistras in 5 gånger, dvs från räkning 1 till 5 börjar klistra in från kolumn B till kolumn F som visas nedan:

Excel VBA-set - exempel # 3

Anta att vi skulle vilja visa en räkning av antalet celler i det intervallet i en meddelanderuta som visas med ett klick på en knapp. Vi ska ta samma data som visas nedan.

Vi kör också exemplets kod i det nya arket. Lägg därför till ett nytt ark och i VBA-fönstret kommer det att visas som nedan:

Vi måste infoga ett kommando-alternativ. Det är en funktion i Excel, så följ stegen nedan:

Steg 1: Ange ett delmängdsnamn som säger “Setcount ()” som visas på skärmdumpen nedan:

Koda:

 Sub Setcount () Slut Sub 

Steg 2: Förklara samma variabel "Rnct" som ett område i delmängden som visas på skärmdumpen nedan:

Koda:

 Sub Setcount () Dim Rnct Som Range End Sub 

Steg 3: Skriv sedan "Ställ in" nyckelord och ge ett intervall.

Koda:

 Sub Setcount () Dim Rnct As Range Set Rnct = Range ("A2: A11") End Sub 

Steg 4: Nu, efter att ha fixat intervallet, måste vi se popup-ruta eller dialogruta som visar antalet celler i intervallet. Använd därför "MsgBox" -funktionen som vid körning kommer ett antal att visas i dialogrutan. Skriv "MsgBox variabelnamn.antal". Omedelbart efter att du har skrivit in variabelnamnet så prickar (.) En rullgardinsmeny som innehåller olika funktioner och vi skulle välja “count” eller manuellt skriva “count”.

Skriv "MsgBox Rnct.count" och vid körning kommer det att räkna.

Steg 5: Nu vill vi infoga en kommandoknapp och klicka på den knappen den meddelanderutan ska visas.

Klicka på "Infoga" i fliken "Utvecklare" som markerad i den röda rutan så ser du en listruta för kategori "Formkontroller". Klicka på den allra första rektangelboxliknande formen som vi måste rita och infoga manuellt i excelark:

Steg 6: När du klickar på rektangelrutan ritar du in rutan i arket och när du börjar rita visas en dialogruta som visas nedan. Det är en "Tilldela makro" -fönsterknappen och välj "Setcount" -mängdmakro. Klicka på “OK”.

Detta betyder att vi har tilldelat räknemakro till denna knapp. Och vid klick kommer den att köras.

Steg 7: Det kommer att visas som visas nedan i Excel.

Steg 8: Högerklicka på den och byt namn på den med alternativet " Redigera text " som visas nedan:

Steg 9: Ge det ett namn som "COUNT" och du kommer att se det i Excel som räknat som visas nedan.

Steg 10: Klicka sedan på "COUNT" -knappen: När du klickar på "COUNT" -knappen visas ett meddelande som visas nedan:

Som vi ser finns det 10 namn och har visat rätt nummer från intervallet A2 till A11.

Saker att komma ihåg

  • Se till att fliken "Utvecklare" är insatt i Excel-band för att köra dessa VBA-koder.
  • 'Set' används mest på kalkylblad / cellintervall i ett visst ark.

Rekommenderade artiklar

Detta är en guide till VBA Set. Här diskuterar vi hur man tilldelar en referens till ett objekt eller cellintervall med hjälp av excel VBA Set Key tillsammans med praktiska exempel och nedladdningsbar excelmall. Nedan finns några användbara excel-artiklar relaterade till VBA -

  1. VBA Concatenate-funktion
  2. Handledning om Excel-ikonuppsättningar
  3. Arbetar med intervallceller i VBA
  4. Lös ekvation i Excel

Kategori: