VBA Lägg till nytt ark - namn, före/efter och fler exempel

Denna handledning kommer att diskutera hur du lägger till / infogar kalkylblad med VBA.

Lägg till blad

Detta enkla makro lägger till ett blad före ActiveSheet:

123 Sub Add ()Ark. Lägg tillAvsluta Sub

Efter att du har lagt in ett ark blir det nya bladet ActiveSheet. Du kan sedan använda ActiveSheet -objektet för att arbeta med det nya bladet (längst ner i den här artikeln visar vi hur du sätter in ett nytt ark direkt i en variabel).

1 ActiveSheet.Name = "NewSheet"

Lägg till blad med namn

Du kan också definiera ett arknamn när du skapar det nya bladet:

1 Sheets.Add.Name = "NewSheet"

Skapa nytt ark med namn från en cell

Eller använd ett cellvärde för att namnge ett nytt ark:

1 Sheets.Add.Name = intervall ("a3"). Värde

Lägg till blad före / efter ett annat ark

Du kanske också vill välja var det nya bladet ska infogas. Du kan använda Egenskaperna Efter eller Före för att infoga ett blad på en specifik plats i arbetsboken.

Infoga blad efter ett annat blad

Denna kod kommer att infoga det nya arket EFTER ett annat blad:

1 Sheets.Add After: = Sheets ("Inmatning")

Detta kommer att infoga ett nytt ark efter ett annat blad och ange bladets namn:

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

Lägg märke till den extra parentes som krävs i det andra exemplet (det första exemplet genererar ett fel om den andra parentesen läggs till).

eller innan:

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

I dessa exempel namngav vi uttryckligen det blad som användes för att bestämma bladets placering. Ofta vill du istället använda bladindexnumret så att du kan infoga arket i början eller slutet av arbetsboken:

Lägg till blad i slutet av arbetsboken

Så här lägger du till ett ark i slutet av arbetsboken:

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

Lägg till blad till början av arbetsboken:

Så här lägger du till ett blad i början av arbetsboken:

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

Lägg till blad i variabel

Denna kod tilldelar det nya bladet en variabel när arket skapas:

12 Dim ws Som arbetsbladAnge ws = Sheets.Add

Härifrån kan du referera till det nya bladet med variabeln 'ws':

1 ws.name = "VarSheet"

Fler exempel på tilläggsark

Skapa blad om det inte redan finns

Du kanske bara vill skapa ett ark om det inte redan finns.

Skapa kalkylblad från listan över namn

Följande rutin kommer att titta på innehållet i en enda kolumn med Excel -kalkylblad i den aktuella arbetsboken med dessa namn. Det ringer till en annan funktion för att se om ett blad med det namnet redan finns, och i så fall skapas det inte.

1234567891011121314151617181920212223242526 Privat underkommandoButton1_Click ()Ring CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Avsluta SubSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name As StringDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountFör i = 1 Till No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Värde'Lägg bara till blad om det inte redan finns och namnet är längre än noll teckenOm (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") DåWorksheets.Add (). Name = Sheet_NameAvsluta omNästa iAvsluta Sub
1234567891011121314 Function Sheet_Exists (WorkSheet_Name As String) As BooleanDim Arbetsblad som arbetsbladSheet_Exists = FalsktFör varje arbetsblad i ThisWorkbook.WorksheetsOm Work_sheet.Name = WorkSheet_Name DåSheet_Exists = SantAvsluta omNästaAvsluta funktion

Så om vi har följande text i cellerna A1: A30 i blad 2:

Följande ark skapas:

Observera att även om "Dog" visas två gånger, skapas bara ett ark.

För att ladda ner .XLS -filen för den här självstudien, klicka här.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave