VBA Nieuw blad toevoegen - naam, voor/na en meer voorbeelden

In deze zelfstudie wordt besproken hoe u werkbladen kunt toevoegen / invoegen met VBA.

Blad toevoegen

Deze eenvoudige macro voegt een blad toe vóór de ActiveSheet:

123 Sub toevoegen ()Lakens.ToevoegenEinde sub

Na het invoegen van een blad, wordt het nieuwe blad het ActiveSheet. U kunt dan het ActiveSheet-object gebruiken om met het nieuwe blad te werken (onderaan dit artikel laten we zien hoe u een nieuw blad rechtstreeks in een variabele kunt invoegen).

1 ActiveSheet.Name = "NieuweBlad"

Blad met naam toevoegen

U kunt ook een bladnaam definiëren terwijl u het nieuwe blad maakt:

1 Spreadsheets.Add.Name = "NieuweBlad"

Nieuw blad maken met naam uit een cel

Of gebruik een celwaarde om een ​​nieuw blad een naam te geven:

1 Spreadsheets.Toevoegen.Naam = bereik ("a3").waarde

Blad toevoegen voor / na een ander blad

Misschien wilt u ook de locatie kiezen waar het nieuwe blad wordt ingevoegd. U kunt de eigenschappen Na of Vóór gebruiken om een ​​blad in te voegen op een specifieke locatie in de werkmap.

Blad invoegen na een ander blad

Deze code zal het nieuwe blad invoegen NA een ander blad:

1 Spreadsheets.Toevoegen na:=Sheets("Input")

Hiermee wordt een nieuw blad NA een ander blad ingevoegd en wordt de bladnaam opgegeven:

1 Sheets.Add(After:=Sheets("Input")).Name = "NewSheet"

Let op de extra haakjes die nodig zijn in het tweede voorbeeld (het eerste voorbeeld genereert een fout als de tweede haakjes worden toegevoegd).

of eerder:

1 Sheets.Add(Before:=Sheets("Input")).Name = "NewSheet"

In deze voorbeelden hebben we expliciet het blad genoemd dat is gebruikt om de bladlocatie te bepalen. Vaak wilt u in plaats daarvan het bladindexnummer gebruiken, zodat u het blad aan het begin of einde van de werkmap kunt invoegen:

Blad toevoegen aan einde van werkmap

Een werkblad toevoegen aan het einde van de werkmap:

1 Sheets.Add After:=Sheets(Sheets.Count)

Blad toevoegen aan het begin van de werkmap:

Een werkblad toevoegen aan het begin van de werkmap:

1 Sheets.Add(Before:=Sheets(1)).Name = "FirstSheet"

Blad toevoegen aan variabele

Deze code wijst het nieuwe blad toe aan een variabele wanneer het blad wordt gemaakt:

12 Dim ws als werkbladStel ws = Bladen.Toevoegen

Vanaf hier kunt u naar het nieuwe blad verwijzen met de variabele 'ws':

1 ws.name = "VarSheet"

Meer voorbeelden van blad toevoegen

Blad maken als het nog niet bestaat

Misschien wilt u alleen een blad maken als het nog niet bestaat.

Werkbladen maken van een lijst met namen

De volgende routine zal kijken naar de inhoud van Excel-werkbladen met één kolom in de huidige werkmap met deze namen. Het roept een andere functie aan om te zien of er al een blad met die naam bestaat, en zo ja, dan wordt het blad niet gemaakt.

1234567891011121314151617181920212223242526 Privé Sub CommandButton1_Click()Roep CreateWorksheets(Sheets("Blad2").Range("A1:a10")) aanEinde subSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Toegevoegd als geheel getalDim Sheet_Name As StringDim ik als geheel getalNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountFor i = 1 To No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells(i, 1).Value'Voeg alleen blad toe als het nog niet bestaat en de naam langer is dan nul tekensIf (Sheet_Exists(Sheet_Name) = False) en (Sheet_Name "") DanWerkbladen.Toevoegen().Naam = BladnaamStop alsvolgende iEinde sub
1234567891011121314 Functieblad_bestaat (werkbladnaam als tekenreeks) als booleaansDim werkblad als werkbladSheet_Exists = FalseVoor elk werkblad in dit werkboek.WerkbladenAls Work_sheet.Name = WorkSheet_Name DanSheet_Exists = TrueStop alsVolgendeFunctie beëindigen

Dus als we de volgende tekst hebben in cellen A1:A30 in Blad 2:

Vervolgens worden de volgende bladen gemaakt:

Merk op dat hoewel "Hond" twee keer verschijnt, er slechts één blad wordt gemaakt.

Klik hier om het .XLS-bestand voor deze zelfstudie te downloaden.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave