Excel VBA-set

"Set" is een sleutelwoord dat wordt gebruikt in VBA-programmering om een ​​verwijzing toe te wijzen aan een object of celbereik dat in het programma of de code in Excel vast blijft staan. VBA Set helpt ons in principe bij het vermijden van herhaalde invoer van het bereik dat we moeten selecteren tijdens het uitvoeren van de code. In Excel wordt 'Set' meestal toegepast op werkbladen / cellen in een bepaald blad.

Syntaxis:

Stel objectnaam / variabele = Object / bereik in

Opmerking: u moet het tabblad Ontwikkelaars in het Excel-werkblad hebben.

Als u het tabblad 'Ontwikkelaar' niet ziet in Excel, raadpleegt u de onderstaande stappen:

Stap 1: Klik op File Option.

Stap 2: Vervolgkeuzelijst verschijnt, klik op het tabblad Opties .

Stap 3: Zodra u op "Opties" klikt, verschijnt een dialoogvenster zoals hieronder weergegeven en klikt u op de optie Lint aanpassen .

Stap 4: Wanneer we naar beneden slepen in de lintopties aanpassen, vinden we een optie voor de ontwikkelaar. We moeten dat vakje aanvinken waarmee we VBA in Excel kunnen gebruiken.

Hoe gebruik je een trefwoord in VBA?

Hieronder staan ​​de verschillende voorbeelden om het set-trefwoord in Excel VBA te gebruiken.

U kunt deze VBA Set Excel-sjabloon hier downloaden - VBA Set Excel-sjabloon

Excel VBA-set - Voorbeeld # 1

We nemen een eenvoudig voorbeeld van een Set-trefwoord in Excel VBA. Stel dat we een bereik willen selecteren en instellen als fix-bereik om herhaling te voorkomen. Hieronder is het celbereik met de namen:

Volg de onderstaande stappen om het set-trefwoord in Excel VBA te gebruiken:

Stap 1: Klik op het tabblad "Ontwikkelaar" en klik vervolgens op de optie "Visual Basic" aan de linkerkant (eerste optie) zoals hieronder weergegeven.

Zodra u erop klikt, verschijnt een nieuw venster zoals hieronder weergegeven:

U zult merken dat het twee tabbladen aan de linkerkant bevat, "Sheet1 (Sheet1)" en "ThisWorkbook". Het enige verschil is "Blad1" wanneer u code alleen voor dit specifieke blad wilt uitvoeren en in "ThisWorkbook" kunnen we een code schrijven en uitvoeren die kan worden toegepast voor de hele Excel-werkmap.

Stap 2: Dubbelklik op “Sheet1 (Sheet1) en u zult een leeg scherm zien waar we de code moeten schrijven. Verklaar eerst een subset als Subnaam en druk op Enter. U ziet een subset gemaakt zoals hieronder wordt weergegeven:

Code:

 Sub setexmp () End Sub 

Dit is de manier waarop we een subset maken en automatisch verschijnt "End Sub". Dit is standaard de functie van Excel. Als "End Sub" niet verschijnt, wordt de code niet uitgevoerd en wordt er een foutmelding weergegeven.

Stap 3: Nu zullen we de variabelen aangeven die in de code moeten worden gebruikt.

Type Naam dim variabele en type variabele. Hier zal de naam zijn zoals de identiteit van het bereik en het type zou zijn of als Integer, Lang, String, Bereik, etc.

Code:

 Sub setexmp () Dim Rnst As Range End Sub 

Hier is "Rnst" een variabelenaam en wijst u deze (As) toe als bereikfunctie. Dit zal het systeem waarschuwen dat een bereikselectie zou worden gedaan.

Stap 4: Typ vervolgens het trefwoord 'Set' en geef een bereik met de indeling: Set variable = Range ('cell range') .

Code:

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

Stap 5: We moeten dit opgegeven rijbereik selecteren. Typ daarom selecteren als Rnst.Selecteer screenshot hieronder:

Code:

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

Stap 6: Voer de code uit door op F5 of de knop Run te drukken en de uitvoer te bekijken.

Het selecteert het opgegeven bereik dat van de cellen A2 tot A11 is.

Excel VBA-set - Voorbeeld # 2

Stel dat we deze cellen of bereik in een andere cel willen plakken. We gebruiken dezelfde code als hierboven en voegen code toe om die gegevens in meerdere kolommen te plakken.

Volg de onderstaande stappen:

Stap 1: Nu kopiëren we het cellenbereik dat de naamkolom is. Typ copy dwz "Rnst.Copy", wanneer u "Rnst" typt, verschijnt er een soort vervolgkeuzelijst. Het bevat verschillende functies zoals kopiëren, plakken, enz.

Stap 2: U kunt naar beneden scrollen en de gewenste functie selecteren die u wilt uitvoeren. Typ hier gewoon "Kopiëren" zoals weergegeven in de onderstaande screenshot:

Code:

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

Stap 3: compileer de code door op F8 te drukken.

Zodra u deze kopieerfunctie uitvoert, ziet u dat bij Excel het bereik wordt gekopieerd en er stippellijnen verschijnen rond het celbereik zoals hieronder wordt weergegeven:

Stap 4: Nu moeten we deze cellen één voor één in aangrenzende kolommen plakken, dus we moeten een lusfunctie “Voor” gebruiken en veronderstellen dat we 5 keer moeten plakken, dus typen we het zoals hieronder getoond:

Voor Geheel getal i = 1 tot 5 -> geeft dit aan hoe vaak we de gegevens moeten plakken. Als 5, dan 1 tot 5, afhankelijk van wat u het liefst heeft.

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Selecteer Rnst.Copy voor i = 1 tot 5 End Sub 

Stap 5: Selecteer een cel waarin u dit celbereik wilt plakken. Stel dat we willen beginnen met plakken vanuit kolom B2 en vervolgens moeten de gegevens dynamisch zijn, dat wil zeggen dat het automatisch aangrenzende kolommen een voor een moet selecteren zonder overlapping. Daarom zou de syntaxis "Cel (rijnummer, kolomnummer). PastaSpecial" zijn.

Cellen (2, i + 1). PastaSpecial, hier, 2-> staat voor het rijnummer en, i + 1 -> staat voor kolomnummer. i + 1 betekent dat de eerste waarde van de in de "For" -lus gedeclareerde i = 1 is, dus wordt kolomwaarde 2, dit geeft aan dat deze begint te plakken uit kolom B. En als en wanneer de waarde toeneemt, blijft hij aangrenzende kolommen selecteren een voor een.

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Selecteer Rnst.Copy voor i = 1 tot 5 cellen (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Stap 6: Typ " Next i ", wat betekent dat u de waarde van "i" één voor één verhoogt, zodat het plakken van kolommen dynamisch blijft.

Code:

 Sub setexmp () Dim Rnst als bereik Set Rnst = bereik ("A2: A11") Rnst.Selecteer Rnst.Copy voor i = 1 tot 5 cellen (2, i + 1). PlakkenSpeciale xlWaarden Volgende i End Sub 

Stap 7: Druk op "F8" om de code regel voor regel uit te voeren en laat u het cel plakken in aangrenzende kolommen één voor één zien.

Hier kunt u zien dat de waarde van i 1 is en gegevens naar wens in kolom B zijn geplakt.

Stap 8: Wanneer u nogmaals op "F8" drukt, ziet u dat de waarde van i nu 2 is. Daarom wordt 2 + 1 3 en worden gegevens in cel (2, 3) geplakt, dwz de rijwaarde is hetzelfde maar kolom aantal verandert zoals weergegeven in onderstaande screenshot:

Nadat het herhalen van de lus is voltooid, ziet u de gegevens 5 keer geplakt, dwz van telling 1 tot 5 die beginnen te plakken van kolom B tot kolom F zoals hieronder weergegeven:

Excel VBA-set - Voorbeeld # 3

Stel dat we een telling van het aantal cellen in dat bereik willen laten zien in een berichtvenster dat verschijnt na een klik op een knop. We nemen dezelfde gegevens als hieronder weergegeven.

We zullen de code van dit voorbeeld ook in het nieuwe blad uitvoeren. Voeg daarom een ​​nieuw blad toe en in het VBA-venster verschijnt het als volgt:

We moeten een opdrachtknopoptie invoegen. Het is een functie van excel, dus volg de onderstaande stappen:

Stap 1: Voer een subsetnaam in en zeg "Setcount ()" zoals weergegeven in de onderstaande screenshot:

Code:

 Sub Setcount () Einde Sub 

Stap 2: Declareer dezelfde variabele “Rnct” als een bereik in de subset zoals getoond in de onderstaande screenshot:

Code:

 Sub Setcount () Dim Rnct As Range End Sub 

Stap 3: Typ vervolgens het trefwoord 'Set' en geef een bereik op.

Code:

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

Stap 4: Nadat we het bereik hebben vastgesteld, moeten we een pop-upvenster of dialoogvenster zien met het aantal cellen in het bereik. Gebruik daarom de functie "MsgBox" die bij uitvoering een telling in het dialoogvenster zal verschijnen. Typ "MsgBox-variabele name.count". Op het moment na het typen van de variabelenaam en vervolgens punt (.) Verschijnt een vervolgkeuzelijst met verschillende functies en we zouden "tellen" selecteren of handmatig "tellen" typen.

Typ "MsgBox Rnct.count" en na uitvoering zal het aantal verschijnen.

Stap 5: Nu willen we een opdrachtknop invoegen en bij klik moet op die knop het berichtvenster verschijnen.

Klik op "Invoegen" op het tabblad "Ontwikkelaar" zoals gemarkeerd in het rode vak en u ziet een vervolgkeuzelijst van de categorie "Formulierbesturingselementen". Klik op de allereerste rechthoekige doosvorm die we handmatig moeten tekenen en in Excel-blad invoegen:

Stap 6: Nadat u op het rechthoekige vak hebt geklikt, tekent en plaatst u het vak in het blad en zodra u begint met tekenen, verschijnt een dialoogvenster zoals hieronder weergegeven. Het is een "Assign Macro" -knop en selecteer de "Setcount" -subsetmacro. Klik op "OK".

Dit betekent dat we telmacro aan deze knop hebben toegewezen. En na een klik wordt het uitgevoerd.

Stap 7: Het verschijnt zoals hieronder in Excel wordt weergegeven.

Stap 8: Klik er met de rechtermuisknop op en hernoem het met behulp van de optie " Tekst bewerken " zoals hieronder weergegeven:

Stap 9: Geef het een naam als "COUNT" en u ziet het in Excel zoals geteld zoals hieronder getoond.

Stap 10: Klik vervolgens op de knop "AANTAL": Zodra u op de knop "AANTAL" klikt, verschijnt een berichtvenster zoals hieronder weergegeven:

Zoals we kunnen zien, zijn er 10 namen en hebben ze het juiste nummer van bereik A2 tot A11 getoond.

Dingen om te onthouden

  • Zorg ervoor dat u het tabblad "Ontwikkelaar" hebt ingevoegd in Excel-linten om deze VBA-codes uit te voeren.
  • 'Set' wordt meestal toegepast op werkbladen / cellen in een bepaald blad.

Aanbevolen artikelen

Dit is een handleiding voor VBA Set. Hier bespreken we hoe een verwijzing naar een object of celbereik kan worden toegewezen met behulp van excel VBA Set Trefwoord, samen met praktische voorbeelden en een downloadbare excelsjabloon. Hieronder staan ​​enkele nuttige Excel-artikelen met betrekking tot VBA -

  1. VBA-aaneengeschakelde functie
  2. Tutorials over Excel Icon Sets
  3. Werken met bereikcellen in VBA
  4. Vergelijking oplossen in Excel

Categorie: