Denne vejledning vil diskutere, hvordan du tilføjer / indsætter regneark ved hjælp af VBA.
Tilføj ark
Denne enkle makro tilføjer et ark før ActiveSheet:
123 | Sub Tilføj ()Ark. TilføjAfslut Sub |
Efter indsættelse af et ark bliver det nye ark til ActiveSheet. Du kan derefter bruge ActiveSheet -objektet til at arbejde med det nye ark (nederst i denne artikel viser vi, hvordan du indsætter et nyt ark direkte i en variabel).
1 | ActiveSheet.Name = "NewSheet" |
Tilføj ark med navn
Du kan også definere et arknavn, mens du opretter det nye ark:
1 | Sheets.Add.Name = "NewSheet" |
Opret nyt ark med navn fra en celle
Eller brug en celleværdi til at navngive et nyt ark:
1 | Sheets.Add.Name = område ("a3"). Værdi |
Tilføj ark før / efter endnu et ark
Du vil måske også vælge, hvor det nye ark skal indsættes. Du kan bruge egenskaberne Efter eller Før til at indsætte et ark på en bestemt placering i projektmappen.
Indsæt ark efter et andet ark
Denne kode indsætter det nye ark EFTER et andet ark:
1 | Ark.Add efter: = Ark ("Input") |
Dette vil indsætte et nyt ark EFTER et andet ark og angive arkets navn:
1 | Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet" |
Bemærk den ekstra parentes, der kræves i det andet eksempel (det første eksempel genererer en fejl, hvis den anden parentes tilføjes).
eller før:
1 | Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet" |
I disse eksempler navngav vi eksplicit det ark, der blev brugt til at bestemme arkplaceringen. Ofte vil du i stedet bruge arkindeksnummeret, så du kan indsætte arket i begyndelsen eller slutningen af projektmappen:
Tilføj ark til slut på projektmappe
Sådan tilføjes et ark til slutningen af projektmappen:
1 | Ark.Add efter: = Ark (Sheets.Count) |
Tilføj ark til begyndelsen af projektmappen:
Sådan føjer du et ark til begyndelsen af projektmappen:
1 | Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet" |
Tilføj ark til variabel
Denne kode tildeler det nye ark til en variabel, når arket oprettes:
12 | Dim ws Som regnearkIndstil ws = Sheets.Add |
Herfra kan du referere til det nye ark med variablen 'ws':
1 | ws.name = "VarSheet" |
Flere eksempler på tilføjelsesark
Opret et ark, hvis det ikke allerede findes
Du vil måske kun oprette et ark, hvis det ikke allerede findes.
Opret regneark fra listen over navne
Den følgende rutine ser på indholdet i en enkelt kolonne, der konfigurerer Excel -regneark i den aktuelle projektmappe med disse navne. Det ringer til en anden funktion for at se, om der allerede findes et ark med det navn, og hvis det er tilfældet, er arket ikke oprettet.
1234567891011121314151617181920212223242526 | Privat underkommandoButton1_Click ()Ring til CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Afslut 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.CountFor i = 1 Til No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1). Værdi'Tilføj kun ark, hvis det ikke allerede findes, og navnet er længere end nul tegnHvis (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") SåWorksheets.Add (). Name = Sheet_NameAfslut HvisNæste iAfslut Sub |
1234567891011121314 | Funktionsark_eksisterer (WorkSheet_Name som streng) Som boolskDim Work_sheet Som regnearkSheet_Exists = FalskFor hvert arbejdsark i ThisWorkbook.WorksheetsHvis Work_sheet.Name = WorkSheet_Name SåSheet_Exists = SandtAfslut HvisNæsteAfslut funktion |
Så hvis vi har følgende tekst i cellerne A1: A30 i ark 2:
Derefter oprettes følgende ark:
Bemærk, at selvom “Hund” vises to gange, oprettes der kun et ark.
Klik her for at downloade .XLS -filen til denne vejledning.