Tento tutoriál bude diskutovať o tom, ako pridať / vložiť pracovné hárky pomocou jazyka VBA.
Pridať hárok
Toto jednoduché makro pridá list pred ActiveSheet:
123 | Sub add ()Listy. PridaťKoniec pod |
Po vložení hárka sa z nového hárka stane ActiveSheet. Potom môžete použiť objekt ActiveSheet na prácu s novým hárkom (V spodnej časti tohto článku si ukážeme, ako vložiť nový hárok priamo do premennej).
1 | ActiveSheet.Name = "Nový list" |
Pridajte hárok s názvom
Pri vytváraní nového hárka môžete tiež definovať názov hárka:
1 | Sheets.Add.Name = "Nový list" |
Vytvorte nový hárok s názvom z bunky
Alebo pomocou hodnoty bunky pomenujte nový hárok:
1 | Sheets.Add.Name = range ("a3"). Value |
Pridajte list pred / za ďalší list
Môžete tiež zvoliť umiestnenie, kam bude vložený nový hárok. Na vloženie hárka na konkrétne miesto v zošite môžete použiť vlastnosti Po alebo Pred.
Vložiť list za ďalším listom
Tento kód vloží nový hárok PO ďalšom hárku:
1 | Sheets.Add After: = Sheets ("Input") |
Tým sa vloží nový hárok PO ďalšom hárku a zadá sa názov hárka:
1 | Sheets.Add (After: = Sheets ("Input")). Name = "NewSheet" |
Všimnite si ďalších zátvoriek požadovaných v druhom príklade (prvý príklad vygeneruje chybu, ak sa pridá druhá zátvorka).
alebo pred:
1 | Sheets.Add (Before: = Sheets ("Input")). Name = "NewSheet" |
V týchto príkladoch sme explicitne pomenovali List používaný na určenie umiestnenia listu. Často budete chcieť namiesto toho použiť indexové číslo listu, aby ste mohli vložiť list na začiatok alebo na koniec zošita:
Pridajte hárok na koniec zošita
Ak chcete pridať hárok na koniec zošita:
1 | Sheets.Add After: = Sheets (Sheets.Count) |
Pridať list na začiatok zošita:
Ak chcete pridať hárok na začiatok zošita:
1 | Sheets.Add (Before: = Sheets (1)). Name = "FirstSheet" |
Pridať hárok do premennej
Tento kód priraďuje nový hárok k premennej pri vytváraní hárka:
12 | Dim ws As worksheetNastaviť ws = Sheets.Add |
Odtiaľto môžete odkazovať na nový hárok s premennou „ws“:
1 | ws.name = "VarSheet" |
Viac Pridať príklady hárkov
Vytvorte hárok, ak ešte neexistuje
Možno budete chcieť vytvoriť hárok, iba ak ešte neexistuje.
Vytvorte pracovné listy zo zoznamu mien
Nasledujúca rutina sa zameria na obsah jedného stĺpca nastaveného pracovného hárka programu Excel v aktuálnom zošite s týmito názvami. Zavolá sa na inú funkciu, aby sa zistilo, či hárok s týmto názvom už existuje, a ak áno, hárok sa nevytvorí.
1234567891011121314151617181920212223242526 | Súkromné sub CommandButton1_Click ()Zavolajte na CreateWorksheets (Sheets ("Sheet2"). Range ("A1: a10"))Koniec podSub CreateWorksheets (Names_Of_Sheets As Range)Dim No_Of_Sheets_to_be_Added As IntegerDim Sheet_Name ako reťazecDim i As IntegerNo_Of_Sheets_to_be_Added = Names_Of_Sheets.Rows.CountPre i = 1 do No_Of_Sheets_to_be_AddedSheet_Name = Names_Of_Sheets.Cells (i, 1) .Hodnota'Hárok pridajte iba vtedy, ak už neexistuje a názov je dlhší ako nula znakovAk (Sheet_Exists (Sheet_Name) = False) And (Sheet_Name "") ThenWorksheets.Add (). Name = Sheet_NameKoniec AkĎalej iKoniec pod |
1234567891011121314 | Funkcia Sheet_Exists (WorkSheet_Name As String) As BooleanDim Work_sheet as WorkheetSheet_Exists = FalsePre každý pracovný list v ThisWorkbook.WorksheetsAk Work_sheet.Name = WorkSheet_Name PotomSheet_Exists = PravdaKoniec AkĎalšieKoncová funkcia |
Ak teda máme v bunkách A1 nasledujúci text: A30 v hárku 2:
Potom sa vytvoria nasledujúce listy:
Všimnite si toho, že aj keď sa „Pes“ zobrazí dvakrát, vytvorí sa iba jeden hárok.
Kliknite sem, ak si chcete stiahnuť súbor .XLS pre tento návod.