VBA Legg til nytt ark - navn, før/etter og flere eksempler

Denne opplæringen vil diskutere hvordan du legger til / setter inn regneark ved hjelp av VBA.

Legg til ark

Denne enkle makroen vil legge til et ark før ActiveSheet:

123 Sub Add ()Ark. Legg tilSlutt Sub

Etter at du har satt inn et ark, blir det nye arket ActiveSheet. Du kan deretter bruke ActiveSheet -objektet til å jobbe med det nye arket (nederst i denne artikkelen viser vi hvordan du setter inn et nytt ark direkte i en variabel).

1 ActiveSheet.Name = "NewSheet"

Legg til ark med navn

Du kan også definere et arknavn mens du oppretter det nye arket:

1 Sheets.Add.Name = "NewSheet"

Lag nytt ark med navn fra en celle

Eller bruk en celleverdi for å navngi et nytt ark:

1 Sheets.Add.Name = range ("a3"). Verdi

Legg til ark før / etter et nytt ark

Du vil kanskje også velge hvor det nye arket skal settes inn. Du kan bruke egenskapene Etter eller Før til å sette inn et ark på et bestemt sted i arbeidsboken.

Sett inn ark etter et nytt ark

Denne koden vil sette inn det nye arket ETTER et annet ark:

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

Dette vil sette inn et nytt ark ETTER et annet ark og spesifisere arkets navn:

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

Legg merke til den ekstra parentesen som kreves i det andre eksemplet (det første eksemplet vil generere en feil hvis den andre parentesen legges til).

eller før:

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

I disse eksemplene har vi eksplisitt navngitt arket som ble brukt til å bestemme arkplasseringen. Ofte vil du i stedet bruke arkindeksnummeret, slik at du kan sette inn arket i begynnelsen eller slutten av arbeidsboken:

Legg til ark på slutten av arbeidsboken

Slik legger du til et ark på slutten av arbeidsboken:

1 Legg til etter: = Ark (Sheets.Count)

Legg til ark i begynnelsen av arbeidsboken:

Slik legger du til et ark i begynnelsen av arbeidsboken:

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

Legg til ark i variabel

Denne koden tilordner det nye arket til en variabel når arket er opprettet:

12 Dim ws Som regnearkSett ws = Sheets.Add

Herfra kan du referere til det nye arket med variabelen 'ws':

1 ws.name = "VarSheet"

Flere eksempler på tilleggsark

Lag et ark hvis det ikke allerede eksisterer

Du vil kanskje bare lage et ark hvis det ikke allerede finnes.

Lag regneark fra navneliste

Følgende rutine ser på innholdet i en enkelt kolonne med Excel -regneark i den nåværende arbeidsboken med disse navnene. Det ringer til en annen funksjon for å se om et ark med det navnet allerede eksisterer, og i så fall er arket ikke opprettet.

1234567891011121314151617181920212223242526 Private Sub CommandButton1_Click ()Ring CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Slutt 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) .Value'Legg bare til ark hvis det ikke allerede finnes og navnet er lengre enn null tegnIf (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") ThenWorksheets.Add (). Name = Sheet_NameSlutt omNeste jegSlutt Sub
1234567891011121314 Funksjon Sheet_Exists (WorkSheet_Name As String) Som boolskDim Work_sheet Som regnearkSheet_Exists = FalseFor hvert arbeidsark i ThisWorkbook.WorksheetsHvis Work_sheet.Name = WorkSheet_Name DaSheet_Exists = SantSlutt omNesteSluttfunksjon

Så hvis vi har følgende tekst i cellene A1: A30 i ark 2:

Da vil følgende ark bli opprettet:

Vær oppmerksom på at selv om "Hund" vises to ganger, blir det bare opprettet ett ark.

For å laste ned .XLS -filen for denne opplæringen, klikk her.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave