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.